+/* 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(variable6));
- }
- variable5 = variable6;
- if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable5 = variable3;
- variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
- variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
- goto return_label3;
- return_label3: while(false);
- variable3 = variable5;
- variable2 = variable3;
- variable3 = TAG_Int(1);
- variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*table*/,COLOR_abstract_collection___Collection___length))( variable2 /*table*/) /*Array::length*/;
- variable5 = TAG_Int(UNTAG_Int(variable5)/UNTAG_Int( TAG_Int(2)));
- variable5 = TAG_Int(UNTAG_Int(variable5)-UNTAG_Int( TAG_Int(1)));
- variable4 = variable5;
- while (true) { /*while*/
- variable5 = TAG_Bool(UNTAG_Int( variable3 /*low*/)<=UNTAG_Int( variable4 /*high*/));
- if (!UNTAG_Bool(variable5)) break; /* while*/
- variable6 = TAG_Int(UNTAG_Int( variable3 /*low*/)+UNTAG_Int( variable4 /*high*/));
- variable6 = TAG_Int(UNTAG_Int(variable6)/UNTAG_Int( TAG_Int(2)));
- variable5 = variable6;
- variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)*UNTAG_Int( TAG_Int(2)));
- variable6 = variable7;
- variable7 = variable6 /*subindex*/;
- variable8 = TAG_Bool(UNTAG_Int( variable7 /*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*/)<UNTAG_Int(variable9));
+static const char LOCATE_parser___State___state[] = "parser::State::state";
+val_t parser___State___state(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10;
+ fra.me.meth = LOCATE_parser___State___state;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:10 */
+ REGB0 = TAG_Bool(ATTR_parser___State____state(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_state", LOCATE_parser, 10);
+ }
+ REGB0 = ATTR_parser___State____state(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+static const char LOCATE_parser___State___state__eq[] = "parser::State::state=";
+void parser___State___state__eq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10;
+ fra.me.meth = LOCATE_parser___State___state__eq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* parser/parser.nit:10 */
+ ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___State___nodes[] = "parser::State::nodes";
+val_t parser___State___nodes(val_t p0){
+ 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 = 13;
+ fra.me.meth = LOCATE_parser___State___nodes;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:13 */
+ fra.me.REG[0] = ATTR_parser___State____nodes(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+static const char LOCATE_parser___State___nodes__eq[] = "parser::State::nodes=";
+void parser___State___nodes__eq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13;
+ fra.me.meth = LOCATE_parser___State___nodes__eq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13 */
+ ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___State___init[] = "parser::State::init";
+void parser___State___init(val_t p0, val_t p1, val_t p2, int* init_table){
+ int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___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.nitni_local_ref_head = NULL;
+ 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;
+}
+static const char LOCATE_parser___Parser___init[] = "parser::Parser::init";
+void parser___Parser___init(val_t p0, val_t p1, int* init_table){
+ int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___Parser].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} 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 = 2;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:37 */
+ ATTR_parser___Parser____lexer(fra.me.REG[0]) = fra.me.REG[1];
+ /* parser/parser.nit:38 */
+ fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
+ ATTR_parser___Parser____stack(fra.me.REG[0]) = fra.me.REG[1];
+ /* parser/parser.nit:39 */
+ REGB0 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:239 */
+ REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+ /* parser/parser.nit:39 */
+ ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB0;
+ /* parser/parser.nit:40 */
+ CALL_parser___Parser___build_reduce_table(fra.me.REG[0])(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos1] = 1;
+ return;
+}
+static const char LOCATE_parser___Parser___go_to[] = "parser::Parser::go_to";
+val_t parser___Parser___go_to(val_t p0, val_t p1){
+ struct {struct stack_frame_t me;} 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 = 43;
+ fra.me.meth = LOCATE_parser___Parser___go_to;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* parser/parser.nit:46 */
+ REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
+ /* parser/parser.nit:47 */
+ REGB2 = TAG_Int(1);
+ /* parser/parser.nit:48 */
+ REGB3 = TAG_Int(0);
+ REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
+ REGB4 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:240 */
+ REGB4 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB4));
+ /* parser/parser.nit:50 */
+ while(1) {
+ REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- 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(variable7));
- if (UNTAG_Bool(variable7)) { /*if*/
- variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)-UNTAG_Int( TAG_Int(1)));
- variable4 = variable7 /*high=*/;
- } else { /*if*/
- variable7 = variable6 /*subindex*/;
- variable8 = TAG_Bool(UNTAG_Int( variable7 /*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*/)<UNTAG_Int(variable9));
+ /* ../lib/standard/kernel.nit:234 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB2)<=UNTAG_Int(REGB4));
+ /* parser/parser.nit:50 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ../lib/standard/kernel.nit:238 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
+ /* parser/parser.nit:51 */
+ REGB5 = TAG_Int(2);
+ /* ../lib/standard/kernel.nit:242 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB5));
+ /* parser/parser.nit:52 */
+ REGB3 = TAG_Int(2);
+ /* ../lib/standard/kernel.nit:241 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB5)*UNTAG_Int(REGB3));
+ /* parser/parser.nit:52 */
+ REGB6 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB6 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB6));
+ /* parser/parser.nit:54 */
+ REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB6);
+ REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB7)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- 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_label6;
- return_label6: while(false);
- variable7 = variable8;
- variable7 = TAG_Bool(UNTAG_Int( variable1 /*state*/)>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*/)<UNTAG_Int(variable10));
+ /* ../lib/standard/kernel.nit:235 */
+ REGB7 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
+ /* parser/parser.nit:55 */
+ if (UNTAG_Bool(REGB7)) {
+ /* parser/parser.nit:56 */
+ REGB7 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:240 */
+ REGB7 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB7));
+ /* parser/parser.nit:56 */
+ REGB4 = REGB7;
+ } else {
+ REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB7)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- 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;
+ /* ../lib/standard/kernel.nit:237 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB3));
+ /* parser/parser.nit:57 */
+ if (UNTAG_Bool(REGB3)) {
+ /* parser/parser.nit:58 */
+ REGB3 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB3));
+ /* parser/parser.nit:58 */
+ REGB2 = REGB3;
+ } else {
+ /* parser/parser.nit:60 */
+ REGB3 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB3));
+ /* parser/parser.nit:60 */
+ REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
+ goto label1;
+ }
+ }
+ } else {
+ /* parser/parser.nit:50 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ /* parser/parser.nit:64 */
+ REGB2 = TAG_Int(2);
+ REGB2 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
+ REGB3 = REGB2;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB3;
+}
+static const char LOCATE_parser___Parser___push[] = "parser::Parser::push";
+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 = 67;
+ fra.me.meth = LOCATE_parser___Parser___push;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.nitni_local_ref_head = NULL;
+ 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;
+ /* parser/parser.nit:70 */
+ REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 70);
+ }
+ REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
+ REGB2 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
+ /* parser/parser.nit:71 */
+ ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2;
+ /* parser/parser.nit:72 */
+ REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 72);
+ }
+ fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:24 */
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+ }
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+ REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
+ /* parser/parser.nit:72 */
+ if (UNTAG_Bool(REGB1)) {
+ /* parser/parser.nit:73 */
+ REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 73);
+ }
+ fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB1 = TAG_Int(0);
+ REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:236 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:280 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
}
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+ REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
+ } else {
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB3 = TAG_Bool(0);
+ REGB1 = REGB3;
+ }
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
}
- continue_4: while(0);
- }
- break_4: while(0);
- variable5 = TAG_Int(1);
- variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=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(variable7));
- }
- variable6 = variable7;
- if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable6 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
- variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
- goto return_label8;
- return_label8: while(false);
- variable5 = variable6;
- variable1 = variable5;
- goto return_label2;
- return_label2: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-void parser___Parser___push(val_t self, val_t param0, val_t param1) {
- struct trace_t trace = {NULL, "parser::Parser::push (src/parser//parser.nit:68,2--78:44)"};
- 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 = param1;
- variable3 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
- variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1)));
- variable2 = variable3;
- ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable2 /*pos*/;
- variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
- variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
- variable3 = TAG_Bool(UNTAG_Int( variable2 /*pos*/)<UNTAG_Int(variable3));
- if (UNTAG_Bool(variable3)) { /*if*/
- variable4 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
- variable5 = variable2 /*pos*/;
- variable6 = 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(variable7));
+ /* ../lib/standard/collection/array.nit:281 */
+ fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
}
- variable6 = variable7;
- if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable6 = variable4;
- variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
- variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
- goto return_label10;
- return_label10: while(false);
- variable4 = variable6;
- variable3 = variable4;
- ((parser___State___state__eq_t)CALL( variable3 /*state*/,COLOR_parser___State___state__eq))( variable3 /*state*/, variable0 /*numstate*/) /*State::state=*/;
- ((parser___State___nodes__eq_t)CALL( variable3 /*state*/,COLOR_parser___State___nodes__eq))( variable3 /*state*/, variable1 /*list_node*/) /*State::nodes=*/;
- } else { /*if*/
- variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
- variable4 = NEW_parser___State___init( variable0 /*numstate*/, variable1 /*list_node*/); /*new State*/
- ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*Array::push*/;
- }
- tracehead = trace.prev;
- return;
-}
-val_t parser___Parser___state(val_t self) {
- struct trace_t trace = {NULL, "parser::Parser::state (src/parser//parser.nit:82,2--85:33)"};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- val_t variable4;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
- variable1 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
- variable2 = variable1;
- variable3 = TAG_Bool(UNTAG_Int( variable2 /*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(variable4));
- }
- variable3 = variable4;
- if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable3 = variable0;
- variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
- variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
- goto return_label12;
- return_label12: while(false);
- variable0 = variable3;
- variable0 = ((parser___State___state_t)CALL(variable0,COLOR_parser___State___state))(variable0) /*State::state*/;
- goto return_label11;
- return_label11: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t parser___Parser___pop(val_t self) {
- struct trace_t trace = {NULL, "parser::Parser::pop (src/parser//parser.nit:88,2--93:12)"};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- val_t variable4;
- val_t variable5;
- trace.prev = tracehead; tracehead = &trace;
- variable1 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
- variable2 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
- variable3 = variable2;
- variable4 = TAG_Bool(UNTAG_Int( variable3 /*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(variable5));
- }
- variable4 = variable5;
- if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable4 = variable1;
- variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
- variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
- goto return_label14;
- return_label14: while(false);
- variable1 = variable4;
- variable1 = ((parser___State___nodes_t)CALL(variable1,COLOR_parser___State___nodes))(variable1) /*State::nodes*/;
- variable0 = variable1;
- variable1 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
- variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
- ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable1;
- variable0 = variable0 /*res*/;
- goto return_label13;
- return_label13: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t parser___Parser___parse(val_t self) {
- struct trace_t trace = {NULL, "parser::Parser::parse (src/parser//parser.nit:96,2--154:13)"};
- val_t variable0;
- val_t variable1;
- 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;
- ((parser___Parser___push_t)CALL( self,COLOR_parser___Parser___push))( self, TAG_Int(0), NIT_NULL /*null*/) /*Parser::push*/;
- variable0 = NIT_NULL /*null*/;
- variable2 = ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/;
- variable1 = variable2;
- while (true) { /*while*/
- if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
- variable3 = ((lexer___Lexer___peek_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___peek))( variable1 /*lexer*/) /*Lexer::peek*/;
- variable2 = variable3;
- variable4 = ((lexer___Token___pos_t)CALL( variable2 /*token*/,COLOR_lexer___Token___pos))( variable2 /*token*/) /*Token::pos*/;
- variable3 = variable4;
- variable5 = ((lexer___Token___line_t)CALL( variable2 /*token*/,COLOR_lexer___Token___line))( variable2 /*token*/) /*Token::line*/;
- variable4 = variable5;
- variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
- if (UNTAG_Bool(variable5)) { /*if*/
- variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
- if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:109,5--27\n"); nit_exit(1);}
- variable5 = NEW_parser_prod___Start___init( NIT_NULL /*null*/, variable2 /*token*/); /*new Start*/
- variable0 = variable5;
- goto return_label15;
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
+ /* ../lib/standard/collection/array.nit:281 */
+ goto label1;
+ label1: while(0);
+ /* parser/parser.nit:74 */
+ CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
+ /* parser/parser.nit:75 */
+ CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ } else {
+ /* parser/parser.nit:77 */
+ REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 77);
}
- variable6 = ((lexer___Token___parser_index_t)CALL( variable2 /*token*/,COLOR_lexer___Token___parser_index))( variable2 /*token*/) /*Token::parser_index*/;
- variable5 = variable6;
- variable7 = ATTR_parser_tables___Parser____action_table( self) /*Parser::_action_table*/;
- variable8 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
- variable9 = variable8;
- variable10 = TAG_Bool(UNTAG_Int( variable9 /*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(variable11));
+ 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_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ }
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___Parser___state[] = "parser::Parser::state";
+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 = 81;
+ fra.me.meth = LOCATE_parser___Parser___state;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:84 */
+ REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 84);
+ }
+ 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 {
+ nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 84);
+ }
+ REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB1 = TAG_Int(0);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:236 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:280 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
}
- variable10 = variable11;
- if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable10 = variable7;
- variable10 = ATTR_array___Array____items(variable10) /*Array::_items*/;
- variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
- goto return_label17;
- return_label17: while(false);
- variable7 = variable10;
- variable6 = variable7;
- variable8 = TAG_Int(1);
- variable9 = TAG_Bool(UNTAG_Int( variable8 /*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(variable10));
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- 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( variable6 /*table*/) /*Array::_items*/;
- variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
- goto return_label18;
- return_label18: while(false);
- variable8 = variable9;
- variable7 = variable8;
- variable9 = TAG_Int(2);
- variable10 = TAG_Bool(UNTAG_Int( variable9 /*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(variable11));
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ } else {
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB2 = TAG_Bool(0);
+ REGB1 = REGB2;
+ }
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
+ }
+ /* ../lib/standard/collection/array.nit:281 */
+ fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
+ REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
+ /* ../lib/standard/collection/array.nit:281 */
+ goto label1;
+ label1: while(0);
+ /* parser/parser.nit:84 */
+ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 84);
+ }
+ 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;
+}
+static const char LOCATE_parser___Parser___pop[] = "parser::Parser::pop";
+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 = 87;
+ fra.me.meth = LOCATE_parser___Parser___pop;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:90 */
+ REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 90);
+ }
+ 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 {
+ nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 90);
+ }
+ REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB1 = TAG_Int(0);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:236 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:280 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
}
- variable10 = variable11;
- if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable10 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
- variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
- goto return_label19;
- return_label19: while(false);
- variable9 = variable10;
- variable8 = variable9;
- variable9 = TAG_Int(1);
- variable11 = ((array___AbstractArray___length_t)CALL( variable6 /*table*/,COLOR_abstract_collection___Collection___length))( variable6 /*table*/) /*Array::length*/;
- variable11 = TAG_Int(UNTAG_Int(variable11)/UNTAG_Int( TAG_Int(3)));
- variable11 = TAG_Int(UNTAG_Int(variable11)-UNTAG_Int( TAG_Int(1)));
- variable10 = variable11;
- while (true) { /*while*/
- variable11 = TAG_Bool(UNTAG_Int( variable9 /*low*/)<=UNTAG_Int( variable10 /*high*/));
- if (!UNTAG_Bool(variable11)) break; /* while*/
- variable12 = TAG_Int(UNTAG_Int( variable9 /*low*/)+UNTAG_Int( variable10 /*high*/));
- variable12 = TAG_Int(UNTAG_Int(variable12)/UNTAG_Int( TAG_Int(2)));
- variable11 = variable12;
- variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)*UNTAG_Int( TAG_Int(3)));
- variable12 = variable13;
- variable13 = variable12 /*subindex*/;
- variable14 = 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(variable15));
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ } else {
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB2 = TAG_Bool(0);
+ REGB1 = REGB2;
+ }
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
+ }
+ /* ../lib/standard/collection/array.nit:281 */
+ fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
+ REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
+ /* ../lib/standard/collection/array.nit:281 */
+ goto label1;
+ label1: while(0);
+ /* parser/parser.nit:90 */
+ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 90);
+ }
+ fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:91 */
+ REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 91);
+ }
+ REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
+ REGB1 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:240 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ /* parser/parser.nit:91 */
+ ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1;
+ /* parser/parser.nit:92 */
+ goto label2;
+ label2: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+static const char LOCATE_parser___Parser___parse[] = "parser::Parser::parse";
+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_4; /* Once value */
+ static val_t once_value_5; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 95;
+ fra.me.meth = LOCATE_parser___Parser___parse;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:98 */
+ REGB0 = TAG_Int(0);
+ CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL);
+ /* parser/parser.nit:100 */
+ REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_lexer", LOCATE_parser, 100);
+ }
+ fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]);
+ /* parser/parser.nit:101 */
+ while(1) {
+ /* parser/parser.nit:102 */
+ fra.me.REG[2] = CALL_parser___lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:103 */
+ REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AError, ID_parser___parser_nodes___AError)) /*cast AError*/;
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:104 */
+ fra.me.REG[3] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
+ goto label1;
+ }
+ /* parser/parser.nit:107 */
+ REGB0 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
+ /* parser/parser.nit:108 */
+ REGB1 = CALL_parser___lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]);
+ /* parser/parser.nit:109 */
+ REGB2 = TAG_Int(2);
+ REGB2 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
+ /* parser/parser.nit:110 */
+ REGB3 = TAG_Int(3);
+ REGB3 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
+ /* parser/parser.nit:112 */
+ REGB4 = TAG_Int(1);
+ /* parser/parser.nit:113 */
+ REGB5 = TAG_Int(0);
+ REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
+ REGB6 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:240 */
+ REGB6 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB6));
+ /* parser/parser.nit:115 */
+ while(1) {
+ REGB5 = TAG_Bool(VAL_ISA(REGB6, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB5)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- variable14 = variable15;
- if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
- variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
- goto return_label21;
- return_label21: while(false);
- variable13 = variable14;
- variable13 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable13));
- if (UNTAG_Bool(variable13)) { /*if*/
- variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)-UNTAG_Int( TAG_Int(1)));
- variable10 = variable13 /*high=*/;
- } else { /*if*/
- variable13 = variable12 /*subindex*/;
- variable14 = 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(variable15));
+ /* ../lib/standard/kernel.nit:234 */
+ REGB5 = TAG_Bool(UNTAG_Int(REGB4)<=UNTAG_Int(REGB6));
+ /* parser/parser.nit:115 */
+ if (UNTAG_Bool(REGB5)) {
+ /* ../lib/standard/kernel.nit:238 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB6));
+ /* parser/parser.nit:116 */
+ REGB7 = TAG_Int(2);
+ /* ../lib/standard/kernel.nit:242 */
+ REGB7 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB7));
+ /* parser/parser.nit:117 */
+ REGB5 = TAG_Int(3);
+ /* ../lib/standard/kernel.nit:241 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB7)*UNTAG_Int(REGB5));
+ /* parser/parser.nit:117 */
+ REGB8 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB8 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB8));
+ /* parser/parser.nit:119 */
+ REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB8);
+ REGB9 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB9)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- variable14 = variable15;
- if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
- variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
- goto return_label22;
- return_label22: while(false);
- variable13 = variable14;
- variable13 = TAG_Bool(UNTAG_Int( variable5 /*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(variable16));
+ /* ../lib/standard/kernel.nit:235 */
+ REGB9 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB5));
+ /* parser/parser.nit:120 */
+ if (UNTAG_Bool(REGB9)) {
+ /* parser/parser.nit:121 */
+ REGB9 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:240 */
+ REGB9 = TAG_Int(UNTAG_Int(REGB7)-UNTAG_Int(REGB9));
+ /* parser/parser.nit:121 */
+ REGB6 = REGB9;
+ } else {
+ REGB9 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB9)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
}
- 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_label23;
- return_label23: while(false);
- variable13 = variable15;
- variable7 = variable13 /*action_type=*/;
- variable13 = TAG_Int(UNTAG_Int( variable12 /*subindex*/)+UNTAG_Int( TAG_Int(2)));
- 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(variable16));
+ /* ../lib/standard/kernel.nit:237 */
+ REGB5 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB5));
+ /* parser/parser.nit:122 */
+ if (UNTAG_Bool(REGB5)) {
+ /* parser/parser.nit:123 */
+ REGB5 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB5));
+ /* parser/parser.nit:123 */
+ REGB4 = REGB5;
+ } else {
+ /* parser/parser.nit:125 */
+ REGB5 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB8)+UNTAG_Int(REGB5));
+ /* parser/parser.nit:125 */
+ REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
+ REGB2 = REGB5;
+ /* parser/parser.nit:126 */
+ REGB5 = TAG_Int(2);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB8)+UNTAG_Int(REGB5));
+ /* parser/parser.nit:126 */
+ REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
+ REGB3 = REGB5;
+ /* parser/parser.nit:127 */
+ goto label2;
}
- 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=*/;
}
+ } else {
+ /* parser/parser.nit:115 */
+ goto label2;
}
- continue_20: while(0);
}
- break_20: while(0);
- variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(0)));
- if (UNTAG_Bool(variable11)) { /*if*/
- variable11 = ((lexer___Lexer___next_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___next))( variable1 /*lexer*/) /*Lexer::next*/;
- ((parser___Parser___push_t)CALL( self,COLOR_parser___Parser___push))( self, variable8 /*action_value*/, variable11) /*Parser::push*/;
- } else { /*if*/
- variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(1)));
- if (UNTAG_Bool(variable11)) { /*if*/
- variable11 = ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/;
- variable12 = variable8 /*action_value*/;
- variable13 = TAG_Bool(UNTAG_Int( variable12 /*index*/)>=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(variable14));
+ label2: while(0);
+ /* parser/parser.nit:131 */
+ REGB0 = TAG_Int(0);
+ REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ /* ../lib/standard/kernel.nit:230 */
+ REGB0 = TAG_Bool((REGB2)==(REGB0));
+ /* parser/parser.nit:131 */
+ REGB4 = REGB0;
+ }
+ if (UNTAG_Bool(REGB4)) {
+ /* parser/parser.nit:132 */
+ fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
+ CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB3, fra.me.REG[4]);
+ } else {
+ /* parser/parser.nit:133 */
+ REGB4 = TAG_Int(1);
+ REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB4));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ /* ../lib/standard/kernel.nit:230 */
+ REGB4 = TAG_Bool((REGB2)==(REGB4));
+ /* parser/parser.nit:133 */
+ REGB0 = REGB4;
+ }
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:134 */
+ REGB0 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_reduce_table", LOCATE_parser, 134);
}
- variable13 = variable14;
- if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable13 = variable11;
- variable13 = ATTR_array___Array____items(variable13) /*Array::_items*/;
- variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
- goto return_label25;
- return_label25: while(false);
- variable11 = variable13;
- ((parser___ReduceAction___action_t)CALL(variable11,COLOR_parser___ReduceAction___action))(variable11, self) /*ReduceAction::action*/;
- } else { /*if*/
- variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(2)));
- if (UNTAG_Bool(variable11)) { /*if*/
- variable12 = ((lexer___Lexer___next_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___next))( variable1 /*lexer*/) /*Lexer::next*/;
- variable11 = variable12;
- variable12 = TAG_Bool(( variable11 /*node2*/==NIT_NULL) || VAL_ISA( variable11 /*node2*/, COLOR_EOF, ID_EOF)) /*cast EOF*/;
- if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:142,5--24\n"); nit_exit(1);}
- variable13 = ((parser___Parser___pop_t)CALL( self,COLOR_parser___Parser___pop))( self) /*Parser::pop*/;
- variable12 = variable13;
- variable13 = TAG_Bool(( variable12 /*node1*/==NIT_NULL) || VAL_ISA( variable12 /*node1*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
- if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:144,5--28\n"); nit_exit(1);}
- variable14 = NEW_parser_prod___Start___init( variable12 /*node1*/, variable11 /*node2*/); /*new Start*/
- variable13 = variable14;
- variable14 = NEW_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
- ((parser___SearchTokensVisitor___visit_t)CALL(variable14,COLOR_parser_prod___Visitor___visit))(variable14, variable13 /*node*/) /*SearchTokensVisitor::visit*/;
- variable0 = variable13 /*node*/;
- goto return_label15;
- } else { /*if*/
- variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(3)));
- if (UNTAG_Bool(variable11)) { /*if*/
- variable12 = ((lexer___Lexer___filename_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___filename))( variable1 /*lexer*/) /*Lexer::filename*/;
- variable13 = ((parser_tables___Parser___error_messages_t)CALL( self,COLOR_parser_tables___Parser___error_messages))( self) /*Parser::error_messages*/;
- variable14 = ((parser_tables___Parser___errors_t)CALL( self,COLOR_parser_tables___Parser___errors))( self) /*Parser::errors*/;
- variable15 = variable8 /*action_value*/;
- variable16 = TAG_Bool(UNTAG_Int( variable15 /*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(variable17));
- }
- variable16 = variable17;
- if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
- variable16 = variable14;
- variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/;
- variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
- goto return_label26;
- return_label26: while(false);
- variable14 = variable16;
- variable15 = variable14;
- variable16 = 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*/)<UNTAG_Int(variable17));
- }
- 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;
+ fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB0 = TAG_Int(0);
+ REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:236 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB0));
+ /* ../lib/standard/collection/array.nit:280 */
+ if (UNTAG_Bool(REGB0)) {
+ REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
+ }
+ REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
+ REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB0));
+ } else {
+ /* ../lib/standard/collection/array.nit:280 */
+ REGB4 = TAG_Bool(0);
+ REGB0 = REGB4;
+ }
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
+ }
+ /* ../lib/standard/collection/array.nit:281 */
+ fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
+ /* ../lib/standard/collection/array.nit:281 */
+ goto label3;
+ label3: while(0);
+ /* parser/parser.nit:134 */
+ REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 134);
+ }
+ CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
+ } else {
+ /* parser/parser.nit:135 */
+ REGB3 = TAG_Int(2);
+ REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ /* ../lib/standard/kernel.nit:230 */
+ REGB3 = TAG_Bool((REGB2)==(REGB3));
+ /* parser/parser.nit:135 */
+ REGB0 = REGB3;
+ }
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:136 */
+ fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:137 */
+ REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___EOF, ID_parser___parser_nodes___EOF)) /*cast EOF*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 137);
+ }
+ /* parser/parser.nit:138 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]);
+ /* parser/parser.nit:139 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModule, ID_parser___parser_nodes___AModule)) /*cast AModule*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 139);
+ }
+ /* parser/parser.nit:140 */
+ fra.me.REG[4] = NEW_Start_parser___parser_nodes___Start___init(fra.me.REG[5], fra.me.REG[4]);
+ /* parser/parser.nit:141 */
+ fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init();
+ CALL_parser___parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ /* parser/parser.nit:142 */
+ fra.me.REG[3] = fra.me.REG[4];
+ goto label1;
+ } else {
+ /* parser/parser.nit:143 */
+ REGB0 = TAG_Int(3);
+ REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ /* ../lib/standard/kernel.nit:230 */
+ REGB0 = TAG_Bool((REGB2)==(REGB0));
+ /* parser/parser.nit:143 */
+ REGB3 = REGB0;
+ }
+ if (UNTAG_Bool(REGB3)) {
+ /* parser/parser.nit:144 */
+ REGB3 = TAG_Int(3);
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
+ if (!once_value_4) {
+ fra.me.REG[5] = BOX_NativeString("Syntax error: unexpected ");
+ REGB3 = TAG_Int(25);
+ fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
+ once_value_4 = fra.me.REG[5];
+ register_static_object(&once_value_4);
+ } else fra.me.REG[5] = once_value_4;
+ fra.me.REG[5] = fra.me.REG[5];
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+ fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+ if (!once_value_5) {
+ fra.me.REG[5] = BOX_NativeString(".");
+ REGB3 = TAG_Int(1);
+ fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
+ once_value_5 = fra.me.REG[5];
+ register_static_object(&once_value_5);
+ } else fra.me.REG[5] = once_value_5;
+ fra.me.REG[5] = fra.me.REG[5];
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
+ fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
+ fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
+ fra.me.REG[2] = NEW_AError_parser___lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
+ /* parser/parser.nit:145 */
+ fra.me.REG[2] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
+ /* parser/parser.nit:146 */
+ fra.me.REG[3] = fra.me.REG[2];
+ goto label1;
}
}
}
}
- 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*/;
- }
- }
- 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*/;
- }
- }
- variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode4*/, 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___ReduceAction3___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "parser::ReduceAction3::init (src/parser//parser.nit:858,1--4)"};
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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___ReduceAction7___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "parser::ReduceAction7::init (src/parser//parser.nit:992,1--4)"};
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->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*/;
- }
- }
- variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode7*/); /*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 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode4*/) /*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___ReduceAction9___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "parser::ReduceAction9::init (src/parser//parser.nit:1064,1--4)"};
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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:1305,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:1307,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*/;
- }
- }
- variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
- variable14 = variable15;
- variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
- if (UNTAG_Bool(variable15)) { /*if*/
- ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode5*/) /*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___ReduceAction15___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "parser::ReduceAction15::init (src/parser//parser.nit:1332,1--4)"};
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
- variable14 = variable15;
- 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*/;
- }
- }
- variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
- if (UNTAG_Bool(variable15)) { /*if*/
- ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode5*/) /*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___ReduceAction19___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "parser::ReduceAction19::init (src/parser//parser.nit:1522,1--4)"};
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
}
- 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*/;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[3];
+}
+static const char LOCATE_parser___Parser___build_reduce_table[] = "parser::Parser::build_reduce_table";
+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 = 152;
+ fra.me.meth = LOCATE_parser___Parser___build_reduce_table;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:154 */
+ REGB0 = TAG_Int(865);
+ fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
+ /* parser/parser.nit:155 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:156 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:157 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:158 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:159 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:160 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:161 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:162 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:163 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:164 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:165 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:166 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:167 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:168 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:169 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:170 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:171 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:172 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:173 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:174 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:175 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:176 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:177 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:178 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:179 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:180 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:181 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:182 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:183 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:184 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:185 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:186 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:187 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:188 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:189 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:190 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:191 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:192 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:193 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction38_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:194 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:195 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:196 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:197 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:198 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:199 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:200 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:201 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:202 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:203 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:204 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:205 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:206 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:207 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:208 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:209 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:210 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:211 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:212 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:213 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:214 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:215 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:216 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:217 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:218 */
+ REGB0 = TAG_Int(0);
+ fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:219 */
+ REGB0 = TAG_Int(1);
+ fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:220 */
+ REGB0 = TAG_Int(2);
+ fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:221 */
+ REGB0 = TAG_Int(2);
+ fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:222 */
+ REGB0 = TAG_Int(3);
+ fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:223 */
+ REGB0 = TAG_Int(3);
+ fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:224 */
+ REGB0 = TAG_Int(4);
+ fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:225 */
+ REGB0 = TAG_Int(4);
+ fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:226 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:227 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:228 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:229 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:230 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:231 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:232 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:233 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:234 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:235 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:236 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:237 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:238 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:239 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:240 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:241 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:242 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:243 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:244 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:245 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:246 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:247 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:248 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:249 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:250 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:251 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:252 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:253 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:254 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:255 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:256 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:257 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:258 */
+ REGB0 = TAG_Int(6);
+ fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:259 */
+ REGB0 = TAG_Int(6);
+ fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:260 */
+ REGB0 = TAG_Int(6);
+ fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:261 */
+ REGB0 = TAG_Int(6);
+ fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:262 */
+ REGB0 = TAG_Int(6);
+ fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:263 */
+ REGB0 = TAG_Int(7);
+ fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:264 */
+ REGB0 = TAG_Int(7);
+ fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:265 */
+ REGB0 = TAG_Int(8);
+ fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:266 */
+ REGB0 = TAG_Int(9);
+ fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:267 */
+ REGB0 = TAG_Int(9);
+ fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:268 */
+ REGB0 = TAG_Int(10);
+ fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:269 */
+ REGB0 = TAG_Int(10);
+ fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:270 */
+ REGB0 = TAG_Int(11);
+ fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:271 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:272 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:273 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:274 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:275 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:276 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:277 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:278 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:279 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:280 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:281 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:282 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:283 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:284 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:285 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:286 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:287 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:288 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:289 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:290 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:291 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:292 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:293 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:294 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:295 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:296 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:297 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:298 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:299 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:300 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:301 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:302 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:303 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:304 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:305 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:306 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:307 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:308 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:309 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:310 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:311 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:312 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:313 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:314 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:315 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:316 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:317 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:318 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:319 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:320 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:321 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:322 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:323 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:324 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:325 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:326 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:327 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:328 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:329 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:330 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:331 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:332 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:333 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:334 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:335 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:336 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:337 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:338 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:339 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:340 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:341 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:342 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:343 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:344 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:345 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:346 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:347 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:348 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:349 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:350 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:351 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:352 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:353 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:354 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:355 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:356 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction201_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:357 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:358 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:359 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:360 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:361 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:362 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:363 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:364 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:365 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:366 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction211_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:367 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:368 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:369 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:370 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:371 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:372 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:373 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:374 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:375 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:376 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:377 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:378 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:379 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction224_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:380 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction225_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:381 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction226_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:382 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction227_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:383 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction228_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:384 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction229_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:385 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:386 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:387 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:388 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:389 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:390 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:391 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:392 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:393 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:394 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:395 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:396 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:397 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:398 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:399 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:400 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:401 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:402 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:403 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:404 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:405 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction250_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:406 */
+ REGB0 = TAG_Int(12);
+ fra.me.REG[2] = NEW_ReduceAction251_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:407 */
+ REGB0 = TAG_Int(13);
+ fra.me.REG[2] = NEW_ReduceAction252_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:408 */
+ REGB0 = TAG_Int(13);
+ fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:409 */
+ REGB0 = TAG_Int(14);
+ fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:410 */
+ REGB0 = TAG_Int(14);
+ fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:411 */
+ REGB0 = TAG_Int(15);
+ fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:412 */
+ REGB0 = TAG_Int(15);
+ fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:413 */
+ REGB0 = TAG_Int(16);
+ fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:414 */
+ REGB0 = TAG_Int(16);
+ fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:415 */
+ REGB0 = TAG_Int(16);
+ fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:416 */
+ REGB0 = TAG_Int(16);
+ fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:417 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:418 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:419 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:420 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:421 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:422 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:423 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:424 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:425 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:426 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:427 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:428 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:429 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:430 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:431 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:432 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:433 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:434 */
+ REGB0 = TAG_Int(17);
+ fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:435 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:436 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:437 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:438 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:439 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:440 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:441 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:442 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:443 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:444 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:445 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:446 */
+ REGB0 = TAG_Int(18);
+ fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:447 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:448 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:449 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:450 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:451 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:452 */
+ REGB0 = TAG_Int(19);
+ fra.me.REG[2] = NEW_ReduceAction297_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:453 */
+ REGB0 = TAG_Int(20);
+ fra.me.REG[2] = NEW_ReduceAction298_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:454 */
+ REGB0 = TAG_Int(20);
+ fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:455 */
+ REGB0 = TAG_Int(21);
+ fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:456 */
+ REGB0 = TAG_Int(22);
+ fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:457 */
+ REGB0 = TAG_Int(22);
+ fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:458 */
+ REGB0 = TAG_Int(22);
+ fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:459 */
+ REGB0 = TAG_Int(23);
+ fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:460 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:461 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:462 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:463 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:464 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:465 */
+ REGB0 = TAG_Int(24);
+ fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:466 */
+ REGB0 = TAG_Int(25);
+ fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:467 */
+ REGB0 = TAG_Int(26);
+ fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:468 */
+ REGB0 = TAG_Int(26);
+ fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:469 */
+ REGB0 = TAG_Int(27);
+ fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:470 */
+ REGB0 = TAG_Int(28);
+ fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:471 */
+ REGB0 = TAG_Int(28);
+ fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:472 */
+ REGB0 = TAG_Int(28);
+ fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:473 */
+ REGB0 = TAG_Int(29);
+ fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:474 */
+ REGB0 = TAG_Int(29);
+ fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:475 */
+ REGB0 = TAG_Int(29);
+ fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:476 */
+ REGB0 = TAG_Int(30);
+ fra.me.REG[2] = NEW_ReduceAction321_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:477 */
+ REGB0 = TAG_Int(30);
+ fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:478 */
+ REGB0 = TAG_Int(30);
+ fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:479 */
+ REGB0 = TAG_Int(31);
+ fra.me.REG[2] = NEW_ReduceAction324_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:480 */
+ REGB0 = TAG_Int(32);
+ fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:481 */
+ REGB0 = TAG_Int(32);
+ fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:482 */
+ REGB0 = TAG_Int(33);
+ fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:483 */
+ REGB0 = TAG_Int(34);
+ fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:484 */
+ REGB0 = TAG_Int(34);
+ fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:485 */
+ REGB0 = TAG_Int(34);
+ fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:486 */
+ REGB0 = TAG_Int(34);
+ fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:487 */
+ REGB0 = TAG_Int(35);
+ fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:488 */
+ REGB0 = TAG_Int(35);
+ fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:489 */
+ REGB0 = TAG_Int(36);
+ fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:490 */
+ REGB0 = TAG_Int(37);
+ fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:491 */
+ REGB0 = TAG_Int(38);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:492 */
+ REGB0 = TAG_Int(38);
+ fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:493 */
+ REGB0 = TAG_Int(38);
+ fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:494 */
+ REGB0 = TAG_Int(38);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:495 */
+ REGB0 = TAG_Int(39);
+ fra.me.REG[2] = NEW_ReduceAction340_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:496 */
+ REGB0 = TAG_Int(39);
+ fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:497 */
+ REGB0 = TAG_Int(40);
+ fra.me.REG[2] = NEW_ReduceAction342_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:498 */
+ REGB0 = TAG_Int(40);
+ fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:499 */
+ REGB0 = TAG_Int(41);
+ fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:500 */
+ REGB0 = TAG_Int(41);
+ fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:501 */
+ REGB0 = TAG_Int(42);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:502 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:503 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:504 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:505 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:506 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:507 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:508 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:509 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:510 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:511 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:512 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:513 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:514 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:515 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:516 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:517 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:518 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:519 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:520 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:521 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:522 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:523 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:524 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:525 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:526 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:527 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:528 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:529 */
+ REGB0 = TAG_Int(43);
+ fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:530 */
+ REGB0 = TAG_Int(44);
+ fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:531 */
+ REGB0 = TAG_Int(45);
+ fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:532 */
+ REGB0 = TAG_Int(45);
+ fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:533 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:534 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:535 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:536 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:537 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:538 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:539 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:540 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:541 */
+ REGB0 = TAG_Int(46);
+ fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:542 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:543 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:544 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:545 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:546 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:547 */
+ REGB0 = TAG_Int(47);
+ fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:548 */
+ REGB0 = TAG_Int(48);
+ fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:549 */
+ REGB0 = TAG_Int(48);
+ fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:550 */
+ REGB0 = TAG_Int(49);
+ fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:551 */
+ REGB0 = TAG_Int(50);
+ fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:552 */
+ REGB0 = TAG_Int(50);
+ fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:553 */
+ REGB0 = TAG_Int(50);
+ fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:554 */
+ REGB0 = TAG_Int(50);
+ fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:555 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:556 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:557 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:558 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:559 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:560 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:561 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:562 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:563 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:564 */
+ REGB0 = TAG_Int(51);
+ fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:565 */
+ REGB0 = TAG_Int(52);
+ fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:566 */
+ REGB0 = TAG_Int(52);
+ fra.me.REG[2] = NEW_ReduceAction411_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:567 */
+ REGB0 = TAG_Int(53);
+ fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:568 */
+ REGB0 = TAG_Int(53);
+ fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:569 */
+ REGB0 = TAG_Int(54);
+ fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:570 */
+ REGB0 = TAG_Int(54);
+ fra.me.REG[2] = NEW_ReduceAction415_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:571 */
+ REGB0 = TAG_Int(54);
+ fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:572 */
+ REGB0 = TAG_Int(54);
+ fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:573 */
+ REGB0 = TAG_Int(54);
+ fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:574 */
+ REGB0 = TAG_Int(55);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:575 */
+ REGB0 = TAG_Int(55);
+ fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:576 */
+ REGB0 = TAG_Int(56);
+ fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:577 */
+ REGB0 = TAG_Int(56);
+ fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:578 */
+ REGB0 = TAG_Int(57);
+ fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:579 */
+ REGB0 = TAG_Int(57);
+ fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:580 */
+ REGB0 = TAG_Int(58);
+ fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:581 */
+ REGB0 = TAG_Int(58);
+ fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:582 */
+ REGB0 = TAG_Int(58);
+ fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:583 */
+ REGB0 = TAG_Int(58);
+ fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:584 */
+ REGB0 = TAG_Int(59);
+ fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:585 */
+ REGB0 = TAG_Int(59);
+ fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:586 */
+ REGB0 = TAG_Int(59);
+ fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:587 */
+ REGB0 = TAG_Int(59);
+ fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:588 */
+ REGB0 = TAG_Int(60);
+ fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:589 */
+ REGB0 = TAG_Int(61);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:590 */
+ REGB0 = TAG_Int(61);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:591 */
+ REGB0 = TAG_Int(61);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:592 */
+ REGB0 = TAG_Int(61);
+ fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:593 */
+ REGB0 = TAG_Int(62);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:594 */
+ REGB0 = TAG_Int(62);
+ fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:595 */
+ REGB0 = TAG_Int(63);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:596 */
+ REGB0 = TAG_Int(63);
+ fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:597 */
+ REGB0 = TAG_Int(63);
+ fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:598 */
+ REGB0 = TAG_Int(63);
+ fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:599 */
+ REGB0 = TAG_Int(64);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:600 */
+ REGB0 = TAG_Int(64);
+ fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:601 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:602 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:603 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:604 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:605 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:606 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:607 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:608 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:609 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:610 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:611 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:612 */
+ REGB0 = TAG_Int(65);
+ fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:613 */
+ REGB0 = TAG_Int(66);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:614 */
+ REGB0 = TAG_Int(66);
+ fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:615 */
+ REGB0 = TAG_Int(66);
+ fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:616 */
+ REGB0 = TAG_Int(67);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:617 */
+ REGB0 = TAG_Int(67);
+ fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:618 */
+ REGB0 = TAG_Int(67);
+ fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:619 */
+ REGB0 = TAG_Int(67);
+ fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:620 */
+ REGB0 = TAG_Int(68);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:621 */
+ REGB0 = TAG_Int(68);
+ fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:622 */
+ REGB0 = TAG_Int(68);
+ fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:623 */
+ REGB0 = TAG_Int(69);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:624 */
+ REGB0 = TAG_Int(69);
+ fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:625 */
+ REGB0 = TAG_Int(69);
+ fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:626 */
+ REGB0 = TAG_Int(69);
+ fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:627 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:628 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:629 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:630 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:631 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:632 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:633 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:634 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:635 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:636 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:637 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction482_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:638 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction483_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:639 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:640 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:641 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:642 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:643 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:644 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:645 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:646 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:647 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:648 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:649 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:650 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:651 */
+ REGB0 = TAG_Int(70);
+ fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:652 */
+ REGB0 = TAG_Int(71);
+ fra.me.REG[2] = NEW_ReduceAction497_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:653 */
+ REGB0 = TAG_Int(71);
+ fra.me.REG[2] = NEW_ReduceAction498_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:654 */
+ REGB0 = TAG_Int(72);
+ fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:655 */
+ REGB0 = TAG_Int(73);
+ fra.me.REG[2] = NEW_ReduceAction500_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:656 */
+ REGB0 = TAG_Int(74);
+ fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:657 */
+ REGB0 = TAG_Int(75);
+ fra.me.REG[2] = NEW_ReduceAction502_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:658 */
+ REGB0 = TAG_Int(76);
+ fra.me.REG[2] = NEW_ReduceAction503_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:659 */
+ REGB0 = TAG_Int(77);
+ fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:660 */
+ REGB0 = TAG_Int(77);
+ fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:661 */
+ REGB0 = TAG_Int(77);
+ fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:662 */
+ REGB0 = TAG_Int(78);
+ fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:663 */
+ REGB0 = TAG_Int(78);
+ fra.me.REG[2] = NEW_ReduceAction508_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:664 */
+ REGB0 = TAG_Int(78);
+ fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:665 */
+ REGB0 = TAG_Int(78);
+ fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:666 */
+ REGB0 = TAG_Int(79);
+ fra.me.REG[2] = NEW_ReduceAction511_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:667 */
+ REGB0 = TAG_Int(80);
+ fra.me.REG[2] = NEW_ReduceAction512_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:668 */
+ REGB0 = TAG_Int(80);
+ fra.me.REG[2] = NEW_ReduceAction513_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:669 */
+ REGB0 = TAG_Int(81);
+ fra.me.REG[2] = NEW_ReduceAction514_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:670 */
+ REGB0 = TAG_Int(82);
+ fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:671 */
+ REGB0 = TAG_Int(82);
+ fra.me.REG[2] = NEW_ReduceAction516_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:672 */
+ REGB0 = TAG_Int(83);
+ fra.me.REG[2] = NEW_ReduceAction517_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:673 */
+ REGB0 = TAG_Int(83);
+ fra.me.REG[2] = NEW_ReduceAction518_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:674 */
+ REGB0 = TAG_Int(83);
+ fra.me.REG[2] = NEW_ReduceAction519_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:675 */
+ REGB0 = TAG_Int(83);
+ fra.me.REG[2] = NEW_ReduceAction520_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:676 */
+ REGB0 = TAG_Int(84);
+ fra.me.REG[2] = NEW_ReduceAction521_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:677 */
+ REGB0 = TAG_Int(84);
+ fra.me.REG[2] = NEW_ReduceAction522_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:678 */
+ REGB0 = TAG_Int(84);
+ fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:679 */
+ REGB0 = TAG_Int(85);
+ fra.me.REG[2] = NEW_ReduceAction524_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:680 */
+ REGB0 = TAG_Int(86);
+ fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:681 */
+ REGB0 = TAG_Int(87);
+ fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:682 */
+ REGB0 = TAG_Int(87);
+ fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:683 */
+ REGB0 = TAG_Int(88);
+ fra.me.REG[2] = NEW_ReduceAction528_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:684 */
+ REGB0 = TAG_Int(88);
+ fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:685 */
+ REGB0 = TAG_Int(88);
+ fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:686 */
+ REGB0 = TAG_Int(89);
+ fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:687 */
+ REGB0 = TAG_Int(89);
+ fra.me.REG[2] = NEW_ReduceAction532_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:688 */
+ REGB0 = TAG_Int(90);
+ fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:689 */
+ REGB0 = TAG_Int(90);
+ fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:690 */
+ REGB0 = TAG_Int(90);
+ fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:691 */
+ REGB0 = TAG_Int(91);
+ fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:692 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:693 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:694 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:695 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:696 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:697 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:698 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:699 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:700 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:701 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:702 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:703 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:704 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:705 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:706 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:707 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:708 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:709 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:710 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:711 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:712 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:713 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:714 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:715 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:716 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:717 */
+ REGB0 = TAG_Int(92);
+ fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:718 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:719 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:720 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:721 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:722 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:723 */
+ REGB0 = TAG_Int(93);
+ fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:724 */
+ REGB0 = TAG_Int(94);
+ fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:725 */
+ REGB0 = TAG_Int(94);
+ fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:726 */
+ REGB0 = TAG_Int(95);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:727 */
+ REGB0 = TAG_Int(95);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:728 */
+ REGB0 = TAG_Int(95);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:729 */
+ REGB0 = TAG_Int(96);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:730 */
+ REGB0 = TAG_Int(96);
+ fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:731 */
+ REGB0 = TAG_Int(97);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:732 */
+ REGB0 = TAG_Int(97);
+ fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:733 */
+ REGB0 = TAG_Int(97);
+ fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:734 */
+ REGB0 = TAG_Int(97);
+ fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:735 */
+ REGB0 = TAG_Int(98);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:736 */
+ REGB0 = TAG_Int(98);
+ fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:737 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:738 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:739 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:740 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:741 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:742 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:743 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:744 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:745 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:746 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:747 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:748 */
+ REGB0 = TAG_Int(99);
+ fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:749 */
+ REGB0 = TAG_Int(100);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:750 */
+ REGB0 = TAG_Int(100);
+ fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:751 */
+ REGB0 = TAG_Int(100);
+ fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:752 */
+ REGB0 = TAG_Int(101);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:753 */
+ REGB0 = TAG_Int(101);
+ fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:754 */
+ REGB0 = TAG_Int(101);
+ fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:755 */
+ REGB0 = TAG_Int(101);
+ fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:756 */
+ REGB0 = TAG_Int(102);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:757 */
+ REGB0 = TAG_Int(102);
+ fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:758 */
+ REGB0 = TAG_Int(102);
+ fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:759 */
+ REGB0 = TAG_Int(103);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:760 */
+ REGB0 = TAG_Int(103);
+ fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:761 */
+ REGB0 = TAG_Int(103);
+ fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:762 */
+ REGB0 = TAG_Int(103);
+ fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:763 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:764 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:765 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:766 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:767 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:768 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:769 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:770 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:771 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:772 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:773 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:774 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:775 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:776 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:777 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:778 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:779 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:780 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:781 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:782 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:783 */
+ REGB0 = TAG_Int(104);
+ fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:784 */
+ REGB0 = TAG_Int(105);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:785 */
+ REGB0 = TAG_Int(105);
+ fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:786 */
+ REGB0 = TAG_Int(105);
+ fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:787 */
+ REGB0 = TAG_Int(105);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:788 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:789 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:790 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:791 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:792 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:793 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:794 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:795 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:796 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:797 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:798 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:799 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:800 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:801 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:802 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:803 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:804 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:805 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:806 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:807 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:808 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:809 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:810 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:811 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:812 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:813 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:814 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:815 */
+ REGB0 = TAG_Int(106);
+ fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:816 */
+ REGB0 = TAG_Int(107);
+ fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:817 */
+ REGB0 = TAG_Int(107);
+ fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:818 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:819 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:820 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:821 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:822 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:823 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:824 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:825 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:826 */
+ REGB0 = TAG_Int(108);
+ fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:827 */
+ REGB0 = TAG_Int(109);
+ fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:828 */
+ REGB0 = TAG_Int(110);
+ fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:829 */
+ REGB0 = TAG_Int(110);
+ fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:830 */
+ REGB0 = TAG_Int(110);
+ fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:831 */
+ REGB0 = TAG_Int(110);
+ fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:832 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:833 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:834 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:835 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:836 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:837 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:838 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:839 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:840 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:841 */
+ REGB0 = TAG_Int(111);
+ fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:842 */
+ REGB0 = TAG_Int(112);
+ fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:843 */
+ REGB0 = TAG_Int(112);
+ fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:844 */
+ REGB0 = TAG_Int(113);
+ fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:845 */
+ REGB0 = TAG_Int(114);
+ fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:846 */
+ REGB0 = TAG_Int(114);
+ fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:847 */
+ REGB0 = TAG_Int(115);
+ fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:848 */
+ REGB0 = TAG_Int(115);
+ fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:849 */
+ REGB0 = TAG_Int(116);
+ fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:850 */
+ REGB0 = TAG_Int(116);
+ fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:851 */
+ REGB0 = TAG_Int(116);
+ fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:852 */
+ REGB0 = TAG_Int(116);
+ fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:853 */
+ REGB0 = TAG_Int(117);
+ fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:854 */
+ REGB0 = TAG_Int(117);
+ fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:855 */
+ REGB0 = TAG_Int(118);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:856 */
+ REGB0 = TAG_Int(118);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:857 */
+ REGB0 = TAG_Int(118);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:858 */
+ REGB0 = TAG_Int(118);
+ fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:859 */
+ REGB0 = TAG_Int(119);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:860 */
+ REGB0 = TAG_Int(119);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:861 */
+ REGB0 = TAG_Int(119);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:862 */
+ REGB0 = TAG_Int(120);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:863 */
+ REGB0 = TAG_Int(120);
+ fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:864 */
+ REGB0 = TAG_Int(120);
+ fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:865 */
+ REGB0 = TAG_Int(121);
+ fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:866 */
+ REGB0 = TAG_Int(121);
+ fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:867 */
+ REGB0 = TAG_Int(121);
+ fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:868 */
+ REGB0 = TAG_Int(122);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:869 */
+ REGB0 = TAG_Int(122);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:870 */
+ REGB0 = TAG_Int(122);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:871 */
+ REGB0 = TAG_Int(123);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:872 */
+ REGB0 = TAG_Int(123);
+ fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:873 */
+ REGB0 = TAG_Int(124);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:874 */
+ REGB0 = TAG_Int(124);
+ fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:875 */
+ REGB0 = TAG_Int(124);
+ fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:876 */
+ REGB0 = TAG_Int(124);
+ fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:877 */
+ REGB0 = TAG_Int(125);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:878 */
+ REGB0 = TAG_Int(125);
+ fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:879 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:880 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:881 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:882 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:883 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:884 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:885 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:886 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:887 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:888 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:889 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:890 */
+ REGB0 = TAG_Int(126);
+ fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:891 */
+ REGB0 = TAG_Int(127);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:892 */
+ REGB0 = TAG_Int(127);
+ fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:893 */
+ REGB0 = TAG_Int(127);
+ fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:894 */
+ REGB0 = TAG_Int(128);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:895 */
+ REGB0 = TAG_Int(128);
+ fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:896 */
+ REGB0 = TAG_Int(128);
+ fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:897 */
+ REGB0 = TAG_Int(128);
+ fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:898 */
+ REGB0 = TAG_Int(129);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:899 */
+ REGB0 = TAG_Int(129);
+ fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:900 */
+ REGB0 = TAG_Int(129);
+ fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:901 */
+ REGB0 = TAG_Int(130);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:902 */
+ REGB0 = TAG_Int(130);
+ fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:903 */
+ REGB0 = TAG_Int(130);
+ fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:904 */
+ REGB0 = TAG_Int(130);
+ fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:905 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:906 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:907 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:908 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:909 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:910 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:911 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:912 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:913 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:914 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:915 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:916 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:917 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:918 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:919 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:920 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:921 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:922 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:923 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:924 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:925 */
+ REGB0 = TAG_Int(131);
+ fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:926 */
+ REGB0 = TAG_Int(132);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:927 */
+ REGB0 = TAG_Int(132);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:928 */
+ REGB0 = TAG_Int(132);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:929 */
+ REGB0 = TAG_Int(133);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:930 */
+ REGB0 = TAG_Int(133);
+ fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:931 */
+ REGB0 = TAG_Int(134);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:932 */
+ REGB0 = TAG_Int(134);
+ fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:933 */
+ REGB0 = TAG_Int(134);
+ fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:934 */
+ REGB0 = TAG_Int(134);
+ fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:935 */
+ REGB0 = TAG_Int(135);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:936 */
+ REGB0 = TAG_Int(135);
+ fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:937 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:938 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:939 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:940 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:941 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:942 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:943 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:944 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:945 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:946 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:947 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:948 */
+ REGB0 = TAG_Int(136);
+ fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:949 */
+ REGB0 = TAG_Int(137);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:950 */
+ REGB0 = TAG_Int(137);
+ fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:951 */
+ REGB0 = TAG_Int(137);
+ fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:952 */
+ REGB0 = TAG_Int(138);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:953 */
+ REGB0 = TAG_Int(138);
+ fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:954 */
+ REGB0 = TAG_Int(138);
+ fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:955 */
+ REGB0 = TAG_Int(138);
+ fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:956 */
+ REGB0 = TAG_Int(139);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:957 */
+ REGB0 = TAG_Int(139);
+ fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:958 */
+ REGB0 = TAG_Int(139);
+ fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:959 */
+ REGB0 = TAG_Int(140);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:960 */
+ REGB0 = TAG_Int(140);
+ fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:961 */
+ REGB0 = TAG_Int(140);
+ fra.me.REG[2] = NEW_ReduceAction806_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:962 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction807_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:963 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction808_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:964 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:965 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:966 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction811_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:967 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:968 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:969 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:970 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:971 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:972 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:973 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:974 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:975 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:976 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:977 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:978 */
+ REGB0 = TAG_Int(141);
+ fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:979 */
+ REGB0 = TAG_Int(142);
+ fra.me.REG[2] = NEW_ReduceAction824_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:980 */
+ REGB0 = TAG_Int(142);
+ fra.me.REG[2] = NEW_ReduceAction825_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:981 */
+ REGB0 = TAG_Int(143);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:982 */
+ REGB0 = TAG_Int(143);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:983 */
+ REGB0 = TAG_Int(143);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:984 */
+ REGB0 = TAG_Int(144);
+ fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:985 */
+ REGB0 = TAG_Int(144);
+ fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:986 */
+ REGB0 = TAG_Int(144);
+ fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:987 */
+ REGB0 = TAG_Int(145);
+ fra.me.REG[2] = NEW_ReduceAction832_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:988 */
+ REGB0 = TAG_Int(145);
+ fra.me.REG[2] = NEW_ReduceAction833_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:989 */
+ REGB0 = TAG_Int(146);
+ fra.me.REG[2] = NEW_ReduceAction834_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:990 */
+ REGB0 = TAG_Int(146);
+ fra.me.REG[2] = NEW_ReduceAction835_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:991 */
+ REGB0 = TAG_Int(147);
+ fra.me.REG[2] = NEW_ReduceAction836_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:992 */
+ REGB0 = TAG_Int(147);
+ fra.me.REG[2] = NEW_ReduceAction837_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:993 */
+ REGB0 = TAG_Int(148);
+ fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:994 */
+ REGB0 = TAG_Int(148);
+ fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:995 */
+ REGB0 = TAG_Int(149);
+ fra.me.REG[2] = NEW_ReduceAction840_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:996 */
+ REGB0 = TAG_Int(149);
+ fra.me.REG[2] = NEW_ReduceAction841_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:997 */
+ REGB0 = TAG_Int(150);
+ fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:998 */
+ REGB0 = TAG_Int(150);
+ fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:999 */
+ REGB0 = TAG_Int(151);
+ fra.me.REG[2] = NEW_ReduceAction844_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1000 */
+ REGB0 = TAG_Int(151);
+ fra.me.REG[2] = NEW_ReduceAction845_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1001 */
+ REGB0 = TAG_Int(152);
+ fra.me.REG[2] = NEW_ReduceAction846_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1002 */
+ REGB0 = TAG_Int(152);
+ fra.me.REG[2] = NEW_ReduceAction847_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1003 */
+ REGB0 = TAG_Int(153);
+ fra.me.REG[2] = NEW_ReduceAction848_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1004 */
+ REGB0 = TAG_Int(153);
+ fra.me.REG[2] = NEW_ReduceAction849_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1005 */
+ REGB0 = TAG_Int(154);
+ fra.me.REG[2] = NEW_ReduceAction850_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1006 */
+ REGB0 = TAG_Int(154);
+ fra.me.REG[2] = NEW_ReduceAction851_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1007 */
+ REGB0 = TAG_Int(155);
+ fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1008 */
+ REGB0 = TAG_Int(155);
+ fra.me.REG[2] = NEW_ReduceAction853_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1009 */
+ REGB0 = TAG_Int(156);
+ fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1010 */
+ REGB0 = TAG_Int(156);
+ fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1011 */
+ REGB0 = TAG_Int(157);
+ fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1012 */
+ REGB0 = TAG_Int(157);
+ fra.me.REG[2] = NEW_ReduceAction857_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1013 */
+ REGB0 = TAG_Int(158);
+ fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1014 */
+ REGB0 = TAG_Int(158);
+ fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1015 */
+ REGB0 = TAG_Int(159);
+ fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1016 */
+ REGB0 = TAG_Int(159);
+ fra.me.REG[2] = NEW_ReduceAction861_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1017 */
+ REGB0 = TAG_Int(160);
+ fra.me.REG[2] = NEW_ReduceAction862_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1018 */
+ REGB0 = TAG_Int(160);
+ fra.me.REG[2] = NEW_ReduceAction863_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1019 */
+ REGB0 = TAG_Int(161);
+ fra.me.REG[2] = NEW_ReduceAction864_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1020 */
+ REGB0 = TAG_Int(161);
+ fra.me.REG[2] = NEW_ReduceAction865_parser___ReduceAction___init(REGB0);
+ /* parser/parser.nit:154 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ fra.me.REG[1] = NEW_Array_standard___collection___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;
+}
+static const char LOCATE_parser___ComputeProdLocationVisitor___visit[] = "parser::ComputeProdLocationVisitor::(parser_prod::Visitor::visit)";
+void parser___ComputeProdLocationVisitor___visit(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 REGB2;
+ val_t REGB3;
+ val_t REGB4;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 1051;
+ fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1053 */
+ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
- }
- }
- 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*/;
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1054 */
+ goto label1;
+ } else {
+ /* parser/parser.nit:1055 */
+ REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___Token, ID_parser___parser_nodes___Token)) /*cast Token*/;
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1056 */
+ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1056);
+ }
+ fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1057 */
+ ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
+ /* parser/parser.nit:1060 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1060);
+ }
+ fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
+ REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1061 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1061);
+ }
+ fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:269 */
+ REGB0 = TAG_Int(0);
+ /* ../lib/standard/collection/array.nit:270 */
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
+ }
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
+ /* ../lib/standard/collection/array.nit:271 */
+ fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
+ /* ../lib/standard/collection/array.nit:272 */
+ while(1) {
+ /* ../lib/standard/collection/array.nit:24 */
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+ }
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:272 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ../lib/standard/collection/array.nit:273 */
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
+ /* parser/parser.nit:1062 */
+ ATTR_parser___Prod____first_location(fra.me.REG[5]) = fra.me.REG[2];
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB1 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB0 = REGB1;
+ } else {
+ /* ../lib/standard/collection/array.nit:272 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ /* parser/parser.nit:1064 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1064);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1068 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1068);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1069 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1069);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:269 */
+ REGB0 = TAG_Int(0);
+ /* ../lib/standard/collection/array.nit:270 */
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
+ }
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
+ /* ../lib/standard/collection/array.nit:271 */
+ fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
+ /* ../lib/standard/collection/array.nit:272 */
+ while(1) {
+ /* ../lib/standard/collection/array.nit:24 */
+ REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+ }
+ REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
+ REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ../lib/standard/collection/array.nit:272 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ../lib/standard/collection/array.nit:273 */
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
+ /* parser/parser.nit:1072 */
+ fra.me.REG[6] = fra.me.REG[2];
+ /* parser/parser.nit:1073 */
+ fra.me.REG[7] = ATTR_parser___Prod____last_location(fra.me.REG[5]);
+ /* parser/parser.nit:1074 */
+ fra.me.REG[8] = CALL_location___Location___file(fra.me.REG[6])(fra.me.REG[6]);
+ REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1074);
+ }
+ REGB1 = CALL_location___Location___line_end(fra.me.REG[7])(fra.me.REG[7]);
+ REGB2 = CALL_location___Location___line_start(fra.me.REG[6])(fra.me.REG[6]);
+ REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1074);
+ }
+ REGB3 = CALL_location___Location___column_end(fra.me.REG[7])(fra.me.REG[7]);
+ REGB4 = CALL_location___Location___column_start(fra.me.REG[6])(fra.me.REG[6]);
+ fra.me.REG[8] = NEW_Location_location___Location___init(fra.me.REG[8], REGB1, REGB2, REGB3, REGB4);
+ CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB4 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB0 = REGB4;
+ } else {
+ /* ../lib/standard/collection/array.nit:272 */
+ goto label3;
+ }
+ }
+ label3: while(0);
+ /* parser/parser.nit:1076 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1076);
+ }
+ fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
+ }
+ } else {
+ /* parser/parser.nit:1079 */
+ REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___Prod, ID_parser___parser_nodes___Prod)) /*cast Prod*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1079);
+ }
+ /* parser/parser.nit:1080 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1080);
+ }
+ fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ /* parser/parser.nit:1082 */
+ fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
+ /* parser/parser.nit:1083 */
+ ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
+ /* parser/parser.nit:1084 */
+ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1084);
+ }
+ CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ /* parser/parser.nit:1085 */
+ fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
+ /* parser/parser.nit:1086 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(0);
+ REGB0 = REGB4;
+ } else {
+ REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB4;
+ }
+ }
+ if (UNTAG_Bool(REGB0)) {
+ ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
+ }
+ /* parser/parser.nit:1088 */
+ ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[3];
+ /* parser/parser.nit:1089 */
+ fra.me.REG[2] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
+ /* parser/parser.nit:1090 */
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(0);
+ REGB0 = REGB4;
+ } else {
+ REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
+ REGB0 = REGB4;
+ }
+ }
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1092 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(0);
+ REGB0 = REGB4;
+ } else {
+ REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB4;
+ }
+ }
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1092);
+ }
+ /* parser/parser.nit:1094 */
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
+ REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ REGB3 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
+ REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
+ }
+ CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
+ /* parser/parser.nit:1096 */
+ REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1096);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
+ REGB2 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
+ if (UNTAG_Bool(REGB2)) {
+ /* parser/parser.nit:1097 */
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
+ }
+ fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
+ }
+ REGB2 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
+ }
+ REGB3 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
+ REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
+ }
+ REGB4 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
+ }
+ REGB0 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
+ fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB2, REGB3, REGB4, REGB0);
+ /* parser/parser.nit:1098 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1098);
+ }
+ fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:269 */
+ REGB0 = TAG_Int(0);
+ /* ../lib/standard/collection/array.nit:270 */
+ REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
+ }
+ REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ../lib/standard/collection/array.nit:271 */
+ fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
+ /* ../lib/standard/collection/array.nit:272 */
+ while(1) {
+ /* ../lib/standard/collection/array.nit:24 */
+ REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+ }
+ REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
+ REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB4 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB4));
+ /* ../lib/standard/collection/array.nit:272 */
+ if (UNTAG_Bool(REGB4)) {
+ /* ../lib/standard/collection/array.nit:273 */
+ REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB0)];
+ /* parser/parser.nit:1100 */
+ CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB4 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB0 = REGB4;
+ } else {
+ /* ../lib/standard/collection/array.nit:272 */
+ goto label4;
+ }
+ }
+ label4: while(0);
+ /* parser/parser.nit:1102 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1102);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1105 */
+ REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1105);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1106 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
+ }
+ fra.me.REG[4] = 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)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
+ }
+ REGB0 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
+ REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
+ }
+ REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
+ REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
+ }
+ REGB3 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
+ }
+ REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
+ /* parser/parser.nit:1107 */
+ REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1107);
+ }
+ fra.me.REG[8] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ /* ../lib/standard/collection/array.nit:269 */
+ REGB2 = TAG_Int(0);
+ /* ../lib/standard/collection/array.nit:270 */
+ REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
+ }
+ REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
+ /* ../lib/standard/collection/array.nit:271 */
+ fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[8]);
+ /* ../lib/standard/collection/array.nit:272 */
+ while(1) {
+ /* ../lib/standard/collection/array.nit:24 */
+ REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+ }
+ REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
+ REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
+ }
+ /* ../lib/standard/kernel.nit:235 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
+ /* ../lib/standard/collection/array.nit:272 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ../lib/standard/collection/array.nit:273 */
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
+ }
+ /* ../lib/standard/collection/array.nit:718 */
+ fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
+ /* parser/parser.nit:1109 */
+ CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB3 = TAG_Int(1);
+ /* ../lib/standard/kernel.nit:238 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
+ /* ../lib/standard/collection/array.nit:274 */
+ REGB2 = REGB3;
+ } else {
+ /* ../lib/standard/collection/array.nit:272 */
+ goto label5;
+ }
+ }
+ label5: while(0);
+ /* parser/parser.nit:1111 */
+ REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1111);
+ }
+ fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
+ }
+ } else {
+ /* parser/parser.nit:1116 */
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Bool(0);
+ REGB2 = REGB3;
+ } else {
+ REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB2 = REGB3;
+ }
+ }
+ if (UNTAG_Bool(REGB2)) {
+ /* parser/parser.nit:1118 */
+ REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1118);
+ }
+ fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
+ } else {
+ /* parser/parser.nit:1121 */
+ REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1121);
+ }
+ fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ }
+ }
}
}
- 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*/;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ComputeProdLocationVisitor___init[] = "parser::ComputeProdLocationVisitor::init";
+void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
+ int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___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 = 1127;
+ fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* parser/parser.nit:1127 */
+ CALL_parser___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;
+}
+static const char LOCATE_parser___ReduceAction___action[] = "parser::ReduceAction::action";
+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 = 1132;
+ fra.me.meth = LOCATE_parser___ReduceAction___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ fra.me.nitni_local_ref_head = NULL;
+ /* parser/parser.nit:1132 */
+ nit_abort("Deferred method called", NULL, LOCATE_parser, 1132);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction___concat[] = "parser::ReduceAction::concat";
+val_t parser___ReduceAction___concat(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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 1133;
+ fra.me.meth = LOCATE_parser___ReduceAction___concat;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.nitni_local_ref_head = NULL;
+ 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] = p2;
+ /* parser/parser.nit:1135 */
+ REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[0] = fra.me.REG[2];
+ goto label1;
+ }
+ /* parser/parser.nit:1136 */
+ CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* parser/parser.nit:1137 */
+ fra.me.REG[0] = fra.me.REG[1];
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+static const char LOCATE_parser___ReduceAction___init[] = "parser::ReduceAction::init";
+void parser___ReduceAction___init(val_t p0, val_t p1, int* init_table){
+ int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ReduceAction].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ 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 = 1140;
+ fra.me.meth = LOCATE_parser___ReduceAction___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* parser/parser.nit:1140 */
+ ATTR_parser___ReduceAction____goto(fra.me.REG[0]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos3] = 1;
+ return;
+}
+static const char LOCATE_parser___ReduceAction0___action[] = "parser::ReduceAction0::(parser::ReduceAction::action)";
+void parser___ReduceAction0___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 = 1145;
+ fra.me.meth = LOCATE_parser___ReduceAction0___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1147 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1148 */
+ fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1149 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1150 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1151 */
+ fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
+ /* parser/parser.nit:1157 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:1158 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1158);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction1___action[] = "parser::ReduceAction1::(parser::ReduceAction::action)";
+void parser___ReduceAction1___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 = 1163;
+ fra.me.meth = LOCATE_parser___ReduceAction1___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1165 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1166 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1167 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1168 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1169 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1171 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1171);
+ }
+ /* parser/parser.nit:1172 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:1178 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:1179 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1179);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction2___action[] = "parser::ReduceAction2::(parser::ReduceAction::action)";
+void parser___ReduceAction2___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 = 1184;
+ fra.me.meth = LOCATE_parser___ReduceAction2___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1186 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1187 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1188 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1189 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1190 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1192 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1192);
+ }
+ /* parser/parser.nit:1193 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1194 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:1200 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:1201 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1201);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction3___action[] = "parser::ReduceAction3::(parser::ReduceAction::action)";
+void parser___ReduceAction3___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 = 1206;
+ fra.me.meth = LOCATE_parser___ReduceAction3___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1208 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1209 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1210 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1211 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1212 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1213 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1215 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1215);
+ }
+ /* parser/parser.nit:1217 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1217);
+ }
+ /* parser/parser.nit:1218 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:1219 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1225 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1226 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1226);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction4___action[] = "parser::ReduceAction4::(parser::ReduceAction::action)";
+void parser___ReduceAction4___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 = 1231;
+ fra.me.meth = LOCATE_parser___ReduceAction4___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1233 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1234 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1235 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1236 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1237 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1239 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1239);
+ }
+ /* parser/parser.nit:1240 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:1241 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:1247 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:1248 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1248);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction5___action[] = "parser::ReduceAction5::(parser::ReduceAction::action)";
+void parser___ReduceAction5___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 = 1253;
+ fra.me.meth = LOCATE_parser___ReduceAction5___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1255 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1256 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1257 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1258 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1259 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1260 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1262 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1262);
+ }
+ /* parser/parser.nit:1264 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1264);
+ }
+ /* parser/parser.nit:1265 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:1266 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1272 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1273 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1273);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction6___action[] = "parser::ReduceAction6::(parser::ReduceAction::action)";
+void parser___ReduceAction6___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 = 1278;
+ fra.me.meth = LOCATE_parser___ReduceAction6___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1280 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1281 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1282 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1283 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1284 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1285 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1287 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1287);
+ }
+ /* parser/parser.nit:1288 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:1290 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1290);
+ }
+ /* parser/parser.nit:1291 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:1292 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1298 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1299 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1299);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction7___action[] = "parser::ReduceAction7::(parser::ReduceAction::action)";
+void parser___ReduceAction7___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 = 1304;
+ fra.me.meth = LOCATE_parser___ReduceAction7___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1306 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1307 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1308 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1309 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1310 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1311 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1312 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1314 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1314);
+ }
+ /* parser/parser.nit:1316 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1316);
+ }
+ /* parser/parser.nit:1317 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:1319 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1319);
+ }
+ /* parser/parser.nit:1320 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:1321 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1327 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1328 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1328);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction8___action[] = "parser::ReduceAction8::(parser::ReduceAction::action)";
+void parser___ReduceAction8___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 = 1333;
+ fra.me.meth = LOCATE_parser___ReduceAction8___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1335 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1336 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1337 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1338 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1339 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1341 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1341);
+ }
+ /* parser/parser.nit:1342 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:1343 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:1349 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:1350 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1350);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction9___action[] = "parser::ReduceAction9::(parser::ReduceAction::action)";
+void parser___ReduceAction9___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 = 1355;
+ fra.me.meth = LOCATE_parser___ReduceAction9___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1357 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1358 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1359 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1360 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1361 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1362 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1364 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1364);
+ }
+ /* parser/parser.nit:1366 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1366);
+ }
+ /* parser/parser.nit:1367 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:1368 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1374 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1375 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1375);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction10___action[] = "parser::ReduceAction10::(parser::ReduceAction::action)";
+void parser___ReduceAction10___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 = 1380;
+ fra.me.meth = LOCATE_parser___ReduceAction10___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1382 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1383 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1384 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1385 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1386 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1387 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1389 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1389);
+ }
+ /* parser/parser.nit:1390 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:1392 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1392);
+ }
+ /* parser/parser.nit:1393 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:1394 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1400 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1401 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1401);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction11___action[] = "parser::ReduceAction11::(parser::ReduceAction::action)";
+void parser___ReduceAction11___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 = 1406;
+ fra.me.meth = LOCATE_parser___ReduceAction11___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1408 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1409 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1410 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1411 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1412 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1413 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1414 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1416 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1416);
+ }
+ /* parser/parser.nit:1418 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1418);
+ }
+ /* parser/parser.nit:1419 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:1421 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1421);
+ }
+ /* parser/parser.nit:1422 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:1423 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1429 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1430 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1430);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction12___action[] = "parser::ReduceAction12::(parser::ReduceAction::action)";
+void parser___ReduceAction12___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 = 1435;
+ fra.me.meth = LOCATE_parser___ReduceAction12___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1437 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1438 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1439 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1440 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1441 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1442 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1444 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1444);
+ }
+ /* parser/parser.nit:1445 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:1447 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1447);
+ }
+ /* parser/parser.nit:1448 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:1449 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1455 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1456 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1456);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction13___action[] = "parser::ReduceAction13::(parser::ReduceAction::action)";
+void parser___ReduceAction13___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 = 1461;
+ fra.me.meth = LOCATE_parser___ReduceAction13___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1463 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1464 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1465 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1466 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1467 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1468 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1469 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1471 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1471);
+ }
+ /* parser/parser.nit:1473 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1473);
+ }
+ /* parser/parser.nit:1474 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:1476 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1476);
+ }
+ /* parser/parser.nit:1477 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:1478 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1484 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1485 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1485);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction14___action[] = "parser::ReduceAction14::(parser::ReduceAction::action)";
+void parser___ReduceAction14___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 = 1490;
+ fra.me.meth = LOCATE_parser___ReduceAction14___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1492 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1493 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1494 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1495 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1496 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1497 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1498 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1500 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1500);
+ }
+ /* parser/parser.nit:1501 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:1503 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1503);
+ }
+ /* parser/parser.nit:1504 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:1506 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1506);
+ }
+ /* parser/parser.nit:1507 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:1508 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1514 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1515 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1515);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction15___action[] = "parser::ReduceAction15::(parser::ReduceAction::action)";
+void parser___ReduceAction15___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 = 1520;
+ fra.me.meth = LOCATE_parser___ReduceAction15___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1522 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1523 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1524 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1525 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1526 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1527 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1528 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1529 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1531 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1531);
+ }
+ /* parser/parser.nit:1533 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1533);
+ }
+ /* parser/parser.nit:1534 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:1536 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1536);
+ }
+ /* parser/parser.nit:1537 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:1539 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1539);
+ }
+ /* parser/parser.nit:1540 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
+ fra.me.REG[9] = fra.me.REG[3];
+ /* parser/parser.nit:1541 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:1547 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:1548 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1548);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction16___action[] = "parser::ReduceAction16::(parser::ReduceAction::action)";
+void parser___ReduceAction16___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 = 1553;
+ fra.me.meth = LOCATE_parser___ReduceAction16___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1555 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1556 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1557 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1558 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1559 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1560 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1562 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1562);
+ }
+ /* parser/parser.nit:1563 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:1564 */
+ fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
+ /* parser/parser.nit:1567 */
+ REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1568 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
+ }
+ /* parser/parser.nit:1570 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:1576 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:1577 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1577);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction17___action[] = "parser::ReduceAction17::(parser::ReduceAction::action)";
+void parser___ReduceAction17___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 = 1582;
+ fra.me.meth = LOCATE_parser___ReduceAction17___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1584 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1585 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1586 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1587 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1588 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1589 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1591 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1591);
+ }
+ /* parser/parser.nit:1592 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1594 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1594);
+ }
+ /* parser/parser.nit:1595 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:1596 */
+ fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
+ /* parser/parser.nit:1599 */
+ REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1600 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
+ }
+ /* parser/parser.nit:1602 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1608 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1609 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1609);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction18___action[] = "parser::ReduceAction18::(parser::ReduceAction::action)";
+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 = 1614;
+ fra.me.meth = LOCATE_parser___ReduceAction18___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1616 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1617 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1618 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1619 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1620 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1621 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1623 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1623);
+ }
+ /* parser/parser.nit:1624 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:1625 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1627 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1627);
+ }
+ /* parser/parser.nit:1628 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1629 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1632 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1633 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1635 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1641 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1642 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1642);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction19___action[] = "parser::ReduceAction19::(parser::ReduceAction::action)";
+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 = 1647;
+ fra.me.meth = LOCATE_parser___ReduceAction19___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1649 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1650 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1651 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1652 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1653 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1654 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1655 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1657 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1657);
+ }
+ /* parser/parser.nit:1659 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1659);
+ }
+ /* parser/parser.nit:1660 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:1661 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1663 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1663);
+ }
+ /* parser/parser.nit:1664 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1665 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1668 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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:1669 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1671 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1677 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1678 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1678);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction20___action[] = "parser::ReduceAction20::(parser::ReduceAction::action)";
+void parser___ReduceAction20___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 = 1683;
+ fra.me.meth = LOCATE_parser___ReduceAction20___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:1685 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1686 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1687 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1688 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1689 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1690 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1692 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1692);
+ }
+ /* parser/parser.nit:1693 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:1694 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1696 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1696);
+ }
+ /* parser/parser.nit:1697 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1698 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1701 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1702 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1704 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1710 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1711 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1711);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction21___action[] = "parser::ReduceAction21::(parser::ReduceAction::action)";
+void parser___ReduceAction21___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 = 1716;
+ fra.me.meth = LOCATE_parser___ReduceAction21___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1718 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1719 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1720 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1721 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1722 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1723 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1724 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1726 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1726);
+ }
+ /* parser/parser.nit:1728 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1728);
+ }
+ /* parser/parser.nit:1729 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:1730 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1732 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1732);
+ }
+ /* parser/parser.nit:1733 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1734 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1737 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1738 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1740 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1746 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1747 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1747);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction22___action[] = "parser::ReduceAction22::(parser::ReduceAction::action)";
+void parser___ReduceAction22___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 = 1752;
+ fra.me.meth = LOCATE_parser___ReduceAction22___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1754 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1755 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1756 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1757 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1758 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1759 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1760 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1762 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1762);
+ }
+ /* parser/parser.nit:1763 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:1765 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1765);
+ }
+ /* parser/parser.nit:1766 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:1767 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1769 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1769);
+ }
+ /* parser/parser.nit:1770 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1771 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1774 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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:1775 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1777 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1783 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1784 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1784);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction23___action[] = "parser::ReduceAction23::(parser::ReduceAction::action)";
+void parser___ReduceAction23___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 = 1789;
+ fra.me.meth = LOCATE_parser___ReduceAction23___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1791 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1792 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1793 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1794 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1795 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1796 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1797 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1798 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1800 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1800);
+ }
+ /* parser/parser.nit:1802 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1802);
+ }
+ /* parser/parser.nit:1803 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:1805 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1805);
+ }
+ /* parser/parser.nit:1806 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:1807 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1809 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1809);
+ }
+ /* parser/parser.nit:1810 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:1811 */
+ fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:1814 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1815 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:1817 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:1823 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:1824 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1824);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction24___action[] = "parser::ReduceAction24::(parser::ReduceAction::action)";
+void parser___ReduceAction24___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 = 1829;
+ fra.me.meth = LOCATE_parser___ReduceAction24___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1831 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1832 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1833 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1834 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1835 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1836 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1838 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1838);
+ }
+ /* parser/parser.nit:1839 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1841 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1841);
+ }
+ /* parser/parser.nit:1842 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:1843 */
+ fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
+ /* parser/parser.nit:1846 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:1847 */
+ REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1848 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
+ }
+ /* parser/parser.nit:1850 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:1856 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:1857 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1857);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction25___action[] = "parser::ReduceAction25::(parser::ReduceAction::action)";
+void parser___ReduceAction25___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 = 1862;
+ fra.me.meth = LOCATE_parser___ReduceAction25___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1864 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1865 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1866 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1867 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1868 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1869 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1870 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1872 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1872);
+ }
+ /* parser/parser.nit:1874 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1874);
+ }
+ /* parser/parser.nit:1875 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1877 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1877);
+ }
+ /* parser/parser.nit:1878 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
+ fra.me.REG[9] = fra.me.REG[3];
+ /* parser/parser.nit:1879 */
+ fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
+ /* parser/parser.nit:1882 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:1883 */
+ REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1884 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+ }
+ /* parser/parser.nit:1886 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1892 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1893 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1893);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction26___action[] = "parser::ReduceAction26::(parser::ReduceAction::action)";
+void parser___ReduceAction26___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 = 1898;
+ fra.me.meth = LOCATE_parser___ReduceAction26___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1900 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1901 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1902 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1903 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1904 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1905 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1906 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1908 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1908);
+ }
+ /* parser/parser.nit:1909 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:1911 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1911);
+ }
+ /* parser/parser.nit:1912 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1914 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1914);
+ }
+ /* parser/parser.nit:1915 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:1916 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:1919 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:1920 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1921 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:1923 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:1929 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:1930 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1930);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction27___action[] = "parser::ReduceAction27::(parser::ReduceAction::action)";
+void parser___ReduceAction27___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 = 1935;
+ fra.me.meth = LOCATE_parser___ReduceAction27___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1937 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1938 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1939 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1940 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1941 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1942 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1943 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1944 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1946 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1946);
+ }
+ /* parser/parser.nit:1948 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1948);
+ }
+ /* parser/parser.nit:1949 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:1951 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1951);
+ }
+ /* parser/parser.nit:1952 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1954 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1954);
+ }
+ /* parser/parser.nit:1955 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:1956 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:1959 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:1960 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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:1961 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:1963 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:1969 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:1970 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1970);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction28___action[] = "parser::ReduceAction28::(parser::ReduceAction::action)";
+void parser___ReduceAction28___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 = 1975;
+ fra.me.meth = LOCATE_parser___ReduceAction28___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:1977 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:1978 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1979 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1980 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:1981 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1982 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1983 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1985 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1985);
+ }
+ /* parser/parser.nit:1986 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:1988 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1988);
+ }
+ /* parser/parser.nit:1989 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:1991 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 1991);
+ }
+ /* parser/parser.nit:1992 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:1993 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:1996 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:1997 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:1998 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2000 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2006 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2007 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2007);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction29___action[] = "parser::ReduceAction29::(parser::ReduceAction::action)";
+void parser___ReduceAction29___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 = 2012;
+ fra.me.meth = LOCATE_parser___ReduceAction29___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2014 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2015 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2016 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2017 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2018 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2019 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2020 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2021 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2023 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2023);
+ }
+ /* parser/parser.nit:2025 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2025);
+ }
+ /* parser/parser.nit:2026 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2028 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2028);
+ }
+ /* parser/parser.nit:2029 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2031 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2031);
+ }
+ /* parser/parser.nit:2032 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:2033 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2036 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2037 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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:2038 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2040 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2046 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2047 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2047);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction30___action[] = "parser::ReduceAction30::(parser::ReduceAction::action)";
+void parser___ReduceAction30___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 = 2052;
+ fra.me.meth = LOCATE_parser___ReduceAction30___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2054 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2055 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2056 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2057 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2058 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2059 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2060 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2061 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2063 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2063);
+ }
+ /* parser/parser.nit:2064 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
+ fra.me.REG[7] = fra.me.REG[6];
+ /* parser/parser.nit:2066 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2066);
+ }
+ /* parser/parser.nit:2067 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2069 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2069);
+ }
+ /* parser/parser.nit:2070 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2072 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2072);
+ }
+ /* parser/parser.nit:2073 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:2074 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2077 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2078 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2079 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2081 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2087 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2088 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2088);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction31___action[] = "parser::ReduceAction31::(parser::ReduceAction::action)";
+void parser___ReduceAction31___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 = 2093;
+ fra.me.meth = LOCATE_parser___ReduceAction31___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2095 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2096 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2097 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2098 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2099 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2100 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2101 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2102 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2103 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2105 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2105);
+ }
+ /* parser/parser.nit:2107 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2107);
+ }
+ /* parser/parser.nit:2108 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:2110 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2110);
+ }
+ /* parser/parser.nit:2111 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:2113 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2113);
+ }
+ /* parser/parser.nit:2114 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2116 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2116);
+ }
+ /* parser/parser.nit:2117 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:2118 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2121 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
+ fra.me.REG[10] = fra.me.REG[4];
+ /* parser/parser.nit:2122 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2123 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2125 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:2131 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:2132 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2132);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction32___action[] = "parser::ReduceAction32::(parser::ReduceAction::action)";
+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 = 2137;
+ fra.me.meth = LOCATE_parser___ReduceAction32___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2139 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2140 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2141 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2142 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2143 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2145 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2145);
+ }
+ /* parser/parser.nit:2146 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2147 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2149 */
+ fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:2155 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:2156 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2156);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction33___action[] = "parser::ReduceAction33::(parser::ReduceAction::action)";
+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 = 2161;
+ fra.me.meth = LOCATE_parser___ReduceAction33___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:2163 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2164 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2165 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2166 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2167 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2168 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2170 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2170);
+ }
+ /* parser/parser.nit:2172 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2172);
+ }
+ /* parser/parser.nit:2173 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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: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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2174 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2176 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:2182 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:2183 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2183);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction34___action[] = "parser::ReduceAction34::(parser::ReduceAction::action)";
+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 = 2188;
+ fra.me.meth = LOCATE_parser___ReduceAction34___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:2190 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2191 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2192 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2193 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2194 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2195 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2197 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2197);
+ }
+ /* parser/parser.nit:2198 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2200 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2200);
+ }
+ /* parser/parser.nit:2201 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2202 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2204 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:2210 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:2211 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2211);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction35___action[] = "parser::ReduceAction35::(parser::ReduceAction::action)";
+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 = 2216;
+ fra.me.meth = LOCATE_parser___ReduceAction35___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2218 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2219 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2220 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2221 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2222 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2223 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2224 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2226 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2226);
+ }
+ /* parser/parser.nit:2228 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2228);
+ }
+ /* parser/parser.nit:2229 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:2231 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2231);
+ }
+ /* parser/parser.nit:2232 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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:2233 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2235 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2241 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2242 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2242);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction36___action[] = "parser::ReduceAction36::(parser::ReduceAction::action)";
+void parser___ReduceAction36___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 = 2247;
+ fra.me.meth = LOCATE_parser___ReduceAction36___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:2249 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2250 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2251 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2252 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2253 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2254 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2256 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2256);
+ }
+ /* parser/parser.nit:2257 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:2259 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2259);
+ }
+ /* parser/parser.nit:2260 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2261 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2263 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:2269 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:2270 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2270);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction37___action[] = "parser::ReduceAction37::(parser::ReduceAction::action)";
+void parser___ReduceAction37___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 = 2275;
+ fra.me.meth = LOCATE_parser___ReduceAction37___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2277 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2278 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2279 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2280 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2281 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2282 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2283 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2285 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2285);
+ }
+ /* parser/parser.nit:2287 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2287);
+ }
+ /* parser/parser.nit:2288 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:2290 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2290);
+ }
+ /* parser/parser.nit:2291 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2292 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2294 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2300 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2301 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2301);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction38___action[] = "parser::ReduceAction38::(parser::ReduceAction::action)";
+void parser___ReduceAction38___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 = 2306;
+ fra.me.meth = LOCATE_parser___ReduceAction38___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2308 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2309 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2310 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2311 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2312 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2313 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2314 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2316 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2316);
+ }
+ /* parser/parser.nit:2317 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:2319 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2319);
+ }
+ /* parser/parser.nit:2320 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:2322 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2322);
+ }
+ /* parser/parser.nit:2323 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:2324 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2326 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2332 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2333 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2333);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction39___action[] = "parser::ReduceAction39::(parser::ReduceAction::action)";
+void parser___ReduceAction39___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 = 2338;
+ fra.me.meth = LOCATE_parser___ReduceAction39___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2340 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2341 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2342 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2343 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2344 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2345 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2346 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2347 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2349 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2349);
+ }
+ /* parser/parser.nit:2351 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2351);
+ }
+ /* parser/parser.nit:2352 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:2354 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2354);
+ }
+ /* parser/parser.nit:2355 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:2357 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2357);
+ }
+ /* parser/parser.nit:2358 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2359 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2361 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2367 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2368 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2368);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction40___action[] = "parser::ReduceAction40::(parser::ReduceAction::action)";
+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 = 2373;
+ fra.me.meth = LOCATE_parser___ReduceAction40___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:2375 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2376 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2377 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2378 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2379 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2380 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2382 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2382);
+ }
+ /* parser/parser.nit:2384 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2384);
+ }
+ /* parser/parser.nit:2385 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:2386 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2387 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2389 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:2395 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:2396 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2396);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction41___action[] = "parser::ReduceAction41::(parser::ReduceAction::action)";
+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 = 2401;
+ fra.me.meth = LOCATE_parser___ReduceAction41___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2403 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2404 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2405 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2406 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2407 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2408 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2409 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2411 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2411);
+ }
+ /* parser/parser.nit:2413 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2413);
+ }
+ /* parser/parser.nit:2415 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2415);
+ }
+ /* parser/parser.nit:2416 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:2417 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2418 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2420 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2426 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2427 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2427);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction42___action[] = "parser::ReduceAction42::(parser::ReduceAction::action)";
+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 = 2432;
+ fra.me.meth = LOCATE_parser___ReduceAction42___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2434 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2435 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2436 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2437 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2438 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2439 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2440 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2442 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2442);
+ }
+ /* parser/parser.nit:2443 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:2445 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2445);
+ }
+ /* parser/parser.nit:2447 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2447);
+ }
+ /* parser/parser.nit:2448 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:2449 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2450 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2452 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2458 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2459 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2459);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction43___action[] = "parser::ReduceAction43::(parser::ReduceAction::action)";
+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 = 2464;
+ fra.me.meth = LOCATE_parser___ReduceAction43___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2466 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2467 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2468 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2469 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2470 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2471 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2472 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2473 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2475 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2475);
+ }
+ /* parser/parser.nit:2477 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2477);
+ }
+ /* parser/parser.nit:2478 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:2480 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2480);
+ }
+ /* parser/parser.nit:2482 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2482);
+ }
+ /* parser/parser.nit:2483 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2484 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2485 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2487 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2493 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2494 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2494);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction44___action[] = "parser::ReduceAction44::(parser::ReduceAction::action)";
+void parser___ReduceAction44___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 = 2499;
+ fra.me.meth = LOCATE_parser___ReduceAction44___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2501 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2502 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2503 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2504 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2505 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2506 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2507 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2509 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2509);
+ }
+ /* parser/parser.nit:2510 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:2512 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2512);
+ }
+ /* parser/parser.nit:2514 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2514);
+ }
+ /* parser/parser.nit:2515 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:2516 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:2517 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2519 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2525 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2526 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2526);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction45___action[] = "parser::ReduceAction45::(parser::ReduceAction::action)";
+void parser___ReduceAction45___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 = 2531;
+ fra.me.meth = LOCATE_parser___ReduceAction45___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2533 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2534 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2535 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2536 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2537 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2538 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2539 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2540 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2542 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2542);
+ }
+ /* parser/parser.nit:2544 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2544);
+ }
+ /* parser/parser.nit:2545 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2547 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2547);
+ }
+ /* parser/parser.nit:2549 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2549);
+ }
+ /* parser/parser.nit:2550 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2551 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2552 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2554 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2560 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2561 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2561);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction46___action[] = "parser::ReduceAction46::(parser::ReduceAction::action)";
+void parser___ReduceAction46___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 = 2566;
+ fra.me.meth = LOCATE_parser___ReduceAction46___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2568 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2569 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2570 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2571 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2572 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2573 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2574 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2575 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2577 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2577);
+ }
+ /* parser/parser.nit:2578 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
+ fra.me.REG[7] = fra.me.REG[6];
+ /* parser/parser.nit:2580 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2580);
+ }
+ /* parser/parser.nit:2581 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2583 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2583);
+ }
+ /* parser/parser.nit:2585 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2585);
+ }
+ /* parser/parser.nit:2586 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2587 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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:2588 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2590 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2596 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2597 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2597);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction47___action[] = "parser::ReduceAction47::(parser::ReduceAction::action)";
+void parser___ReduceAction47___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 = 2602;
+ fra.me.meth = LOCATE_parser___ReduceAction47___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2604 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2605 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2606 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2607 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2608 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2609 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2610 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2611 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2612 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2614 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2614);
+ }
+ /* parser/parser.nit:2616 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2616);
+ }
+ /* parser/parser.nit:2617 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:2619 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2619);
+ }
+ /* parser/parser.nit:2620 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:2622 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2622);
+ }
+ /* parser/parser.nit:2624 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2624);
+ }
+ /* parser/parser.nit:2625 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
+ fra.me.REG[10] = fra.me.REG[4];
+ /* parser/parser.nit:2626 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2627 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2629 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:2635 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:2636 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2636);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction48___action[] = "parser::ReduceAction48::(parser::ReduceAction::action)";
+void parser___ReduceAction48___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 = 2641;
+ fra.me.meth = LOCATE_parser___ReduceAction48___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2643 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2644 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2645 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2646 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2647 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2648 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2649 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2651 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2651);
+ }
+ /* parser/parser.nit:2652 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
+ fra.me.REG[8] = fra.me.REG[4];
+ /* parser/parser.nit:2653 */
+ fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
+ /* parser/parser.nit:2657 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2657);
+ }
+ /* parser/parser.nit:2658 */
+ REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2659 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
+ }
+ /* parser/parser.nit:2661 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2662 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2664 */
+ fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
+ /* parser/parser.nit:2670 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:2671 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2671);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction49___action[] = "parser::ReduceAction49::(parser::ReduceAction::action)";
+void parser___ReduceAction49___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 = 2676;
+ fra.me.meth = LOCATE_parser___ReduceAction49___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2678 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2679 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2680 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2681 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2682 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2683 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2684 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2686 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2686);
+ }
+ /* parser/parser.nit:2687 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2689 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2689);
+ }
+ /* parser/parser.nit:2690 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2691 */
+ fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
+ /* parser/parser.nit:2695 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2695);
+ }
+ /* parser/parser.nit:2696 */
+ REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2697 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+ }
+ /* parser/parser.nit:2699 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2700 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2702 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2708 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2709 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2709);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction50___action[] = "parser::ReduceAction50::(parser::ReduceAction::action)";
+void parser___ReduceAction50___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 = 2714;
+ fra.me.meth = LOCATE_parser___ReduceAction50___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2716 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2717 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2718 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2719 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2720 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2721 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2722 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2724 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2724);
+ }
+ /* parser/parser.nit:2725 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:2726 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2728 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2728);
+ }
+ /* parser/parser.nit:2729 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2730 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2734 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2734);
+ }
+ /* parser/parser.nit:2735 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2736 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2738 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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:2739 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2741 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2747 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2748 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2748);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction51___action[] = "parser::ReduceAction51::(parser::ReduceAction::action)";
+void parser___ReduceAction51___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 = 2753;
+ fra.me.meth = LOCATE_parser___ReduceAction51___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2755 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2756 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2757 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2758 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2759 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2760 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2761 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2762 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2764 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2764);
+ }
+ /* parser/parser.nit:2766 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2766);
+ }
+ /* parser/parser.nit:2767 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:2768 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2770 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2770);
+ }
+ /* parser/parser.nit:2771 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2772 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2776 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2776);
+ }
+ /* parser/parser.nit:2777 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2778 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2780 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2781 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2783 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2789 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2790 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2790);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction52___action[] = "parser::ReduceAction52::(parser::ReduceAction::action)";
+void parser___ReduceAction52___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 = 2795;
+ fra.me.meth = LOCATE_parser___ReduceAction52___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2797 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2798 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2799 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2800 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2801 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2802 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2803 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2805 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2805);
+ }
+ /* parser/parser.nit:2806 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:2807 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2809 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2809);
+ }
+ /* parser/parser.nit:2810 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2811 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2815 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2815);
+ }
+ /* parser/parser.nit:2816 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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:2817 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2819 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2820 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2822 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2828 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2829 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2829);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction53___action[] = "parser::ReduceAction53::(parser::ReduceAction::action)";
+void parser___ReduceAction53___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 = 2834;
+ fra.me.meth = LOCATE_parser___ReduceAction53___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2836 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2837 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2838 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2839 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2840 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2841 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2842 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2843 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2845 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2845);
+ }
+ /* parser/parser.nit:2847 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2847);
+ }
+ /* parser/parser.nit:2848 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2849 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2851 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2851);
+ }
+ /* parser/parser.nit:2852 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2853 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2857 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2857);
+ }
+ /* parser/parser.nit:2858 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2859 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2861 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2862 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2864 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2870 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2871 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2871);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction54___action[] = "parser::ReduceAction54::(parser::ReduceAction::action)";
+void parser___ReduceAction54___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 = 2876;
+ fra.me.meth = LOCATE_parser___ReduceAction54___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2878 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2879 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2880 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2881 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2882 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2883 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2884 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2885 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2887 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2887);
+ }
+ /* parser/parser.nit:2888 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
+ fra.me.REG[7] = fra.me.REG[6];
+ /* parser/parser.nit:2890 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2890);
+ }
+ /* parser/parser.nit:2891 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2892 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2894 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2894);
+ }
+ /* parser/parser.nit:2895 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2896 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2900 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2900);
+ }
+ /* parser/parser.nit:2901 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], 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:2902 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2904 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2905 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2907 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:2913 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:2914 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2914);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction55___action[] = "parser::ReduceAction55::(parser::ReduceAction::action)";
+void parser___ReduceAction55___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 = 2919;
+ fra.me.meth = LOCATE_parser___ReduceAction55___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2921 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2922 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2923 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2924 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2925 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2926 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2927 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2928 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2929 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2931 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2931);
+ }
+ /* parser/parser.nit:2933 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2933);
+ }
+ /* parser/parser.nit:2934 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:2936 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2936);
+ }
+ /* parser/parser.nit:2937 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:2938 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2940 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2940);
+ }
+ /* parser/parser.nit:2941 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:2942 */
+ fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
+ /* parser/parser.nit:2946 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2946);
+ }
+ /* parser/parser.nit:2947 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2948 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:2950 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:2951 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2953 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:2959 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:2960 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2960);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction56___action[] = "parser::ReduceAction56::(parser::ReduceAction::action)";
+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 REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 2965;
+ fra.me.meth = LOCATE_parser___ReduceAction56___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:2967 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:2968 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2969 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2970 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:2971 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2972 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2973 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2975 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2975);
+ }
+ /* parser/parser.nit:2976 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:2978 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2978);
+ }
+ /* parser/parser.nit:2979 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:2980 */
+ fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
+ /* parser/parser.nit:2984 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 2984);
+ }
+ /* parser/parser.nit:2985 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:2986 */
+ REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2987 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
+ }
+ /* parser/parser.nit:2989 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:2990 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:2992 */
+ fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
+ /* parser/parser.nit:2998 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:2999 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2999);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction57___action[] = "parser::ReduceAction57::(parser::ReduceAction::action)";
+void parser___ReduceAction57___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 = 3004;
+ fra.me.meth = LOCATE_parser___ReduceAction57___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3006 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3007 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3008 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3009 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3010 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3011 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3012 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3013 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3015 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3015);
+ }
+ /* parser/parser.nit:3017 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3017);
+ }
+ /* parser/parser.nit:3018 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3020 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3020);
+ }
+ /* parser/parser.nit:3021 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
+ fra.me.REG[10] = fra.me.REG[4];
+ /* parser/parser.nit:3022 */
+ fra.me.REG[10] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[10]);
+ /* parser/parser.nit:3026 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3026);
+ }
+ /* parser/parser.nit:3027 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:3028 */
+ REGB0 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], 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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3029 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
+ }
+ /* parser/parser.nit:3031 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3032 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3034 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:3040 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:3041 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3041);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction58___action[] = "parser::ReduceAction58::(parser::ReduceAction::action)";
+void parser___ReduceAction58___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 = 3046;
+ fra.me.meth = LOCATE_parser___ReduceAction58___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3048 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3049 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3050 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3051 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3052 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3053 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3054 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3055 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3057 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3057);
+ }
+ /* parser/parser.nit:3058 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
+ fra.me.REG[7] = fra.me.REG[6];
+ /* parser/parser.nit:3060 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3060);
+ }
+ /* parser/parser.nit:3061 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3063 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3063);
+ }
+ /* parser/parser.nit:3064 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3065 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3069 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3069);
+ }
+ /* parser/parser.nit:3070 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:3071 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], 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:3072 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3074 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3075 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3077 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:3083 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:3084 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3084);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction59___action[] = "parser::ReduceAction59::(parser::ReduceAction::action)";
+void parser___ReduceAction59___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 = 3089;
+ fra.me.meth = LOCATE_parser___ReduceAction59___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3091 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3092 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3093 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3094 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3095 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3096 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3097 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3098 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3099 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3101 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3101);
+ }
+ /* parser/parser.nit:3103 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3103);
+ }
+ /* parser/parser.nit:3104 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:3106 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3106);
+ }
+ /* parser/parser.nit:3107 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3109 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3109);
+ }
+ /* parser/parser.nit:3110 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3111 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3115 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3115);
+ }
+ /* parser/parser.nit:3116 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:3117 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3118 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3120 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3121 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3123 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:3129 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:3130 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3130);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction60___action[] = "parser::ReduceAction60::(parser::ReduceAction::action)";
+void parser___ReduceAction60___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 = 3135;
+ fra.me.meth = LOCATE_parser___ReduceAction60___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3137 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3138 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3139 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3140 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3141 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3142 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3143 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3144 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3146 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3146);
+ }
+ /* parser/parser.nit:3147 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:3149 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3149);
+ }
+ /* parser/parser.nit:3150 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3152 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3152);
+ }
+ /* parser/parser.nit:3153 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3154 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3158 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3158);
+ }
+ /* parser/parser.nit:3159 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
+ fra.me.REG[9] = fra.me.REG[5];
+ /* parser/parser.nit:3160 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], 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:3161 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3163 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3164 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3166 */
+ fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
+ /* parser/parser.nit:3172 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:3173 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3173);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction61___action[] = "parser::ReduceAction61::(parser::ReduceAction::action)";
+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 REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3178;
+ fra.me.meth = LOCATE_parser___ReduceAction61___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3180 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3181 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3182 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3183 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3184 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3185 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3186 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3187 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3188 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3190 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
+ }
+ /* parser/parser.nit:3192 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
+ }
+ /* parser/parser.nit:3193 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
+ fra.me.REG[9] = fra.me.REG[6];
+ /* parser/parser.nit:3195 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3195);
+ }
+ /* parser/parser.nit:3196 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3198 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3198);
+ }
+ /* parser/parser.nit:3199 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3200 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3204 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3204);
+ }
+ /* parser/parser.nit:3205 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:3206 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3207 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3209 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3210 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3212 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:3218 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:3219 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3219);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction62___action[] = "parser::ReduceAction62::(parser::ReduceAction::action)";
+void parser___ReduceAction62___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 = 3224;
+ fra.me.meth = LOCATE_parser___ReduceAction62___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3226 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3227 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3228 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3229 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3230 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3231 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3232 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3233 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3234 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3236 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3236);
+ }
+ /* parser/parser.nit:3237 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[7]);
+ fra.me.REG[8] = fra.me.REG[7];
+ /* parser/parser.nit:3239 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3239);
+ }
+ /* parser/parser.nit:3240 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
+ fra.me.REG[9] = fra.me.REG[6];
+ /* parser/parser.nit:3242 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3242);
+ }
+ /* parser/parser.nit:3243 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3245 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3245);
+ }
+ /* parser/parser.nit:3246 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3247 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3251 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3251);
+ }
+ /* parser/parser.nit:3252 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:3253 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3254 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3256 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:3257 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3259 */
+ fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
+ /* parser/parser.nit:3265 */
+ fra.me.REG[2] = fra.me.REG[10];
+ /* parser/parser.nit:3266 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3266);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction63___action[] = "parser::ReduceAction63::(parser::ReduceAction::action)";
+void parser___ReduceAction63___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 = 3271;
+ fra.me.meth = LOCATE_parser___ReduceAction63___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3273 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3274 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3275 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3276 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3277 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3278 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3279 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3280 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3281 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3282 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3284 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3284);
+ }
+ /* parser/parser.nit:3286 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3286);
+ }
+ /* parser/parser.nit:3287 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
+ fra.me.REG[9] = fra.me.REG[7];
+ /* parser/parser.nit:3289 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3289);
+ }
+ /* parser/parser.nit:3290 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[6]);
+ fra.me.REG[10] = fra.me.REG[6];
+ /* parser/parser.nit:3292 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3292);
+ }
+ /* parser/parser.nit:3293 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3295 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3295);
+ }
+ /* parser/parser.nit:3296 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:3297 */
+ fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
+ /* parser/parser.nit:3301 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3301);
+ }
+ /* parser/parser.nit:3302 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
+ fra.me.REG[11] = fra.me.REG[5];
+ /* parser/parser.nit:3303 */
+ REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3304 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[6]);
+ }
+ /* parser/parser.nit:3306 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:3307 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3309 */
+ fra.me.REG[11] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[8], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
+ /* parser/parser.nit:3315 */
+ fra.me.REG[2] = fra.me.REG[11];
+ /* parser/parser.nit:3316 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3316);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction64___action[] = "parser::ReduceAction64::(parser::ReduceAction::action)";
+void parser___ReduceAction64___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 = 3321;
+ fra.me.meth = LOCATE_parser___ReduceAction64___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3323 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3324 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3325 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3326 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3327 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3328 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3330 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3330);
+ }
+ /* parser/parser.nit:3332 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwmodule, ID_parser___parser_nodes___TKwmodule)) /*cast nullable TKwmodule*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3332);
+ }
+ /* parser/parser.nit:3334 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3334);
+ }
+ /* parser/parser.nit:3335 */
+ fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:3340 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3341 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3341);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction65___action[] = "parser::ReduceAction65::(parser::ReduceAction::action)";
+void parser___ReduceAction65___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 = 3346;
+ fra.me.meth = LOCATE_parser___ReduceAction65___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3348 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3349 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3350 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3351 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3352 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3353 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3354 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3356 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3356);
+ }
+ /* parser/parser.nit:3358 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3358);
+ }
+ /* parser/parser.nit:3360 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3360);
+ }
+ /* parser/parser.nit:3361 */
+ fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:3366 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3367 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3367);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction66___action[] = "parser::ReduceAction66::(parser::ReduceAction::action)";
+void parser___ReduceAction66___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 = 3372;
+ fra.me.meth = LOCATE_parser___ReduceAction66___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3374 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3375 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3376 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3377 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3378 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3379 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3380 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3382 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3382);
+ }
+ /* parser/parser.nit:3384 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3384);
+ }
+ /* parser/parser.nit:3386 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3386);
+ }
+ /* parser/parser.nit:3387 */
+ fra.me.REG[3] = NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:3392 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3393 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3393);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction67___action[] = "parser::ReduceAction67::(parser::ReduceAction::action)";
+void parser___ReduceAction67___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 = 3398;
+ fra.me.meth = LOCATE_parser___ReduceAction67___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3400 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3401 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3402 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3404 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___APropdef, ID_parser___parser_nodes___APropdef)) /*cast nullable APropdef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3404);
+ }
+ /* parser/parser.nit:3405 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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:3406 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:3408 */
+ fra.me.REG[4] = NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[4]);
+ /* parser/parser.nit:3411 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:3412 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3412);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction68___action[] = "parser::ReduceAction68::(parser::ReduceAction::action)";
+void parser___ReduceAction68___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 = 3417;
+ fra.me.meth = LOCATE_parser___ReduceAction68___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3419 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3420 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3421 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3422 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3422);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction69___action[] = "parser::ReduceAction69::(parser::ReduceAction::action)";
+void parser___ReduceAction69___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 = 3427;
+ fra.me.meth = LOCATE_parser___ReduceAction69___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3429 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3430 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3431 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3433 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3433);
+ }
+ /* parser/parser.nit:3434 */
+ fra.me.REG[3] = NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:3438 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3439 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3439);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction71___action[] = "parser::ReduceAction71::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3444;
+ fra.me.meth = LOCATE_parser___ReduceAction71___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3446 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3447 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3448 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3449 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3450 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3451 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3452 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3453 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3454 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3455 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3456 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3458 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3458);
+ }
+ /* parser/parser.nit:3460 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3460);
+ }
+ /* parser/parser.nit:3462 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3462);
+ }
+ /* parser/parser.nit:3464 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3464);
+ }
+ /* parser/parser.nit:3466 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3466);
+ }
+ /* parser/parser.nit:3467 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[9], fra.me.REG[10], fra.me.REG[3]);
+ /* parser/parser.nit:3479 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3480 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3480);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction72___action[] = "parser::ReduceAction72::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3485;
+ fra.me.meth = LOCATE_parser___ReduceAction72___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3487 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3488 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3489 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3490 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3491 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3492 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3493 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3494 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3495 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3496 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3497 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3498 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3500 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3500);
+ }
+ /* parser/parser.nit:3502 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3502);
+ }
+ /* parser/parser.nit:3504 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3504);
+ }
+ /* parser/parser.nit:3506 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3506);
+ }
+ /* parser/parser.nit:3508 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3508);
+ }
+ /* parser/parser.nit:3510 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3510);
+ }
+ /* parser/parser.nit:3511 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
+ /* parser/parser.nit:3523 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3524 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3524);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction73___action[] = "parser::ReduceAction73::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3529;
+ fra.me.meth = LOCATE_parser___ReduceAction73___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3531 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3532 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3533 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3534 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3535 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3536 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3537 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3538 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3539 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3540 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3541 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3542 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3544 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3544);
+ }
+ /* parser/parser.nit:3546 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3546);
+ }
+ /* parser/parser.nit:3548 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3548);
+ }
+ /* parser/parser.nit:3550 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3550);
+ }
+ /* parser/parser.nit:3552 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3552);
+ }
+ /* parser/parser.nit:3553 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
+ fra.me.REG[9] = fra.me.REG[4];
+ /* parser/parser.nit:3555 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3555);
+ }
+ /* parser/parser.nit:3556 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
+ /* parser/parser.nit:3568 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3569 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3569);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction74___action[] = "parser::ReduceAction74::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3574;
+ fra.me.meth = LOCATE_parser___ReduceAction74___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3576 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3577 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3578 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3579 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3580 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3581 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3582 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3583 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3584 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3585 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3586 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3587 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3588 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3590 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3590);
+ }
+ /* parser/parser.nit:3592 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3592);
+ }
+ /* parser/parser.nit:3594 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3594);
+ }
+ /* parser/parser.nit:3596 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3596);
+ }
+ /* parser/parser.nit:3598 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3598);
+ }
+ /* parser/parser.nit:3600 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3600);
+ }
+ /* parser/parser.nit:3601 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
+ fra.me.REG[10] = fra.me.REG[4];
+ /* parser/parser.nit:3603 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3603);
+ }
+ /* parser/parser.nit:3604 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:3616 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3617 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3617);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction75___action[] = "parser::ReduceAction75::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3622;
+ fra.me.meth = LOCATE_parser___ReduceAction75___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3624 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3625 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3626 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3627 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3628 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3629 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3630 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3631 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3632 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3633 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3634 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3635 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3637 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3637);
+ }
+ /* parser/parser.nit:3639 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3639);
+ }
+ /* parser/parser.nit:3641 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3641);
+ }
+ /* parser/parser.nit:3643 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3643);
+ }
+ /* parser/parser.nit:3645 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3645);
+ }
+ /* parser/parser.nit:3647 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3647);
+ }
+ /* parser/parser.nit:3648 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[4], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
+ /* parser/parser.nit:3660 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3661 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3661);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction76___action[] = "parser::ReduceAction76::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3666;
+ fra.me.meth = LOCATE_parser___ReduceAction76___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3668 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3669 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3670 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3671 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3672 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3673 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3674 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3675 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3676 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3677 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3678 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3679 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3680 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3682 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3682);
+ }
+ /* parser/parser.nit:3684 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3684);
+ }
+ /* parser/parser.nit:3686 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3686);
+ }
+ /* parser/parser.nit:3688 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3688);
+ }
+ /* parser/parser.nit:3690 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3690);
+ }
+ /* parser/parser.nit:3692 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3692);
+ }
+ /* parser/parser.nit:3694 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3694);
+ }
+ /* parser/parser.nit:3695 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:3707 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3708 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3708);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction77___action[] = "parser::ReduceAction77::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3713;
+ fra.me.meth = LOCATE_parser___ReduceAction77___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3715 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3716 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3717 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3718 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3719 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3720 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3721 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3722 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3723 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3724 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3725 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3726 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3727 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3729 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3729);
+ }
+ /* parser/parser.nit:3731 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3731);
+ }
+ /* parser/parser.nit:3733 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3733);
+ }
+ /* parser/parser.nit:3735 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3735);
+ }
+ /* parser/parser.nit:3737 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3737);
+ }
+ /* parser/parser.nit:3738 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:3740 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3740);
+ }
+ /* parser/parser.nit:3742 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3742);
+ }
+ /* parser/parser.nit:3743 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:3755 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3756 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3756);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction78___action[] = "parser::ReduceAction78::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3761;
+ fra.me.meth = LOCATE_parser___ReduceAction78___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3763 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3764 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3765 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3766 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3767 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3768 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3769 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3770 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3771 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3772 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3773 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3774 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3775 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3776 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3778 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3778);
+ }
+ /* parser/parser.nit:3780 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3780);
+ }
+ /* parser/parser.nit:3782 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3782);
+ }
+ /* parser/parser.nit:3784 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3784);
+ }
+ /* parser/parser.nit:3786 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3786);
+ }
+ /* parser/parser.nit:3788 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3788);
+ }
+ /* parser/parser.nit:3789 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
+ fra.me.REG[11] = fra.me.REG[5];
+ /* parser/parser.nit:3791 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3791);
+ }
+ /* parser/parser.nit:3793 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3793);
+ }
+ /* parser/parser.nit:3794 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[4], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:3806 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3807 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3807);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction79___action[] = "parser::ReduceAction79::(parser::ReduceAction::action)";
+void parser___ReduceAction79___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 = 3812;
+ fra.me.meth = LOCATE_parser___ReduceAction79___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3814 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3815 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3816 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3817 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3818 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3819 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3820 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3821 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3822 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3823 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3824 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3825 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3827 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3827);
+ }
+ /* parser/parser.nit:3829 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3829);
+ }
+ /* parser/parser.nit:3831 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3831);
+ }
+ /* parser/parser.nit:3833 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3833);
+ }
+ /* parser/parser.nit:3835 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3835);
+ }
+ /* parser/parser.nit:3836 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
+ fra.me.REG[10] = fra.me.REG[4];
+ /* parser/parser.nit:3838 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3838);
+ }
+ /* parser/parser.nit:3839 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
+ /* parser/parser.nit:3851 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3852 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3852);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction80___action[] = "parser::ReduceAction80::(parser::ReduceAction::action)";
+void parser___ReduceAction80___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 = 3857;
+ fra.me.meth = LOCATE_parser___ReduceAction80___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3859 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3860 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3861 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3862 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3863 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3864 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3865 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3866 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3867 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3868 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3869 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3870 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3871 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3873 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3873);
+ }
+ /* parser/parser.nit:3875 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3875);
+ }
+ /* parser/parser.nit:3877 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3877);
+ }
+ /* parser/parser.nit:3879 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3879);
+ }
+ /* parser/parser.nit:3881 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3881);
+ }
+ /* parser/parser.nit:3883 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3883);
+ }
+ /* parser/parser.nit:3884 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
+ fra.me.REG[11] = fra.me.REG[4];
+ /* parser/parser.nit:3886 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3886);
+ }
+ /* parser/parser.nit:3887 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:3899 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3900 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3900);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction81___action[] = "parser::ReduceAction81::(parser::ReduceAction::action)";
+void parser___ReduceAction81___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 = 3905;
+ fra.me.meth = LOCATE_parser___ReduceAction81___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3907 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3908 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3909 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3910 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3911 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3912 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3913 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3914 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3915 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3916 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3917 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3918 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3919 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3921 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3921);
+ }
+ /* parser/parser.nit:3923 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3923);
+ }
+ /* parser/parser.nit:3925 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3925);
+ }
+ /* parser/parser.nit:3927 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3927);
+ }
+ /* parser/parser.nit:3929 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3929);
+ }
+ /* parser/parser.nit:3930 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:3932 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3932);
+ }
+ /* parser/parser.nit:3933 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
+ fra.me.REG[11] = fra.me.REG[4];
+ /* parser/parser.nit:3935 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3935);
+ }
+ /* parser/parser.nit:3936 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:3948 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:3949 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3949);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction82___action[] = "parser::ReduceAction82::(parser::ReduceAction::action)";
+void parser___ReduceAction82___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3954;
+ fra.me.meth = LOCATE_parser___ReduceAction82___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:3956 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:3957 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3958 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3959 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3960 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3961 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3962 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3963 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3964 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3965 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3966 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:3967 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3968 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3969 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:3971 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3971);
+ }
+ /* parser/parser.nit:3973 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3973);
+ }
+ /* parser/parser.nit:3975 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3975);
+ }
+ /* parser/parser.nit:3977 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3977);
+ }
+ /* parser/parser.nit:3979 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3979);
+ }
+ /* parser/parser.nit:3981 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3981);
+ }
+ /* parser/parser.nit:3982 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
+ fra.me.REG[11] = fra.me.REG[5];
+ /* parser/parser.nit:3984 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3984);
+ }
+ /* parser/parser.nit:3985 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:3987 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3987);
+ }
+ /* parser/parser.nit:3988 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4000 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4001 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4001);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction83___action[] = "parser::ReduceAction83::(parser::ReduceAction::action)";
+void parser___ReduceAction83___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 = 4006;
+ fra.me.meth = LOCATE_parser___ReduceAction83___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4008 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4009 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4010 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4011 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4012 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4013 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4014 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4015 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4016 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4017 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4018 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4019 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4020 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4022 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4022);
+ }
+ /* parser/parser.nit:4024 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4024);
+ }
+ /* parser/parser.nit:4026 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4026);
+ }
+ /* parser/parser.nit:4028 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4028);
+ }
+ /* parser/parser.nit:4030 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4030);
+ }
+ /* parser/parser.nit:4032 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4032);
+ }
+ /* parser/parser.nit:4033 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
+ fra.me.REG[11] = fra.me.REG[4];
+ /* parser/parser.nit:4035 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4035);
+ }
+ /* parser/parser.nit:4036 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:4048 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4049 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4049);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction84___action[] = "parser::ReduceAction84::(parser::ReduceAction::action)";
+void parser___ReduceAction84___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4054;
+ fra.me.meth = LOCATE_parser___ReduceAction84___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4056 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4057 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4058 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4059 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4060 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4061 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4062 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4063 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4064 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4065 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4066 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4067 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4068 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4069 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4071 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4071);
+ }
+ /* parser/parser.nit:4073 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4073);
+ }
+ /* parser/parser.nit:4075 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4075);
+ }
+ /* parser/parser.nit:4077 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4077);
+ }
+ /* parser/parser.nit:4079 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4079);
+ }
+ /* parser/parser.nit:4081 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4081);
+ }
+ /* parser/parser.nit:4083 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4083);
+ }
+ /* parser/parser.nit:4084 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4086 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4086);
+ }
+ /* parser/parser.nit:4087 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4099 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4100 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4100);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction85___action[] = "parser::ReduceAction85::(parser::ReduceAction::action)";
+void parser___ReduceAction85___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4105;
+ fra.me.meth = LOCATE_parser___ReduceAction85___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4107 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4108 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4109 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4110 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4111 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4112 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4113 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4114 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4115 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4116 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4117 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4118 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4119 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4120 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4122 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4122);
+ }
+ /* parser/parser.nit:4124 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4124);
+ }
+ /* parser/parser.nit:4126 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4126);
+ }
+ /* parser/parser.nit:4128 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4128);
+ }
+ /* parser/parser.nit:4130 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4130);
+ }
+ /* parser/parser.nit:4131 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
+ fra.me.REG[11] = fra.me.REG[6];
+ /* parser/parser.nit:4133 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4133);
+ }
+ /* parser/parser.nit:4135 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4135);
+ }
+ /* parser/parser.nit:4136 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4138 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4138);
+ }
+ /* parser/parser.nit:4139 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4151 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4152 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4152);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction86___action[] = "parser::ReduceAction86::(parser::ReduceAction::action)";
+void parser___ReduceAction86___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4157;
+ fra.me.meth = LOCATE_parser___ReduceAction86___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 15;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4159 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4160 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4161 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4162 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4163 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4164 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4165 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4166 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4167 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4168 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4169 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4170 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4171 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4172 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4173 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4175 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4175);
+ }
+ /* parser/parser.nit:4177 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4177);
+ }
+ /* parser/parser.nit:4179 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4179);
+ }
+ /* parser/parser.nit:4181 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4181);
+ }
+ /* parser/parser.nit:4183 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4183);
+ }
+ /* parser/parser.nit:4185 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4185);
+ }
+ /* parser/parser.nit:4186 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
+ fra.me.REG[12] = fra.me.REG[6];
+ /* parser/parser.nit:4188 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4188);
+ }
+ /* parser/parser.nit:4190 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4190);
+ }
+ /* parser/parser.nit:4191 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4193 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4193);
+ }
+ /* parser/parser.nit:4194 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
+ /* parser/parser.nit:4206 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4207 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4207);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction87___action[] = "parser::ReduceAction87::(parser::ReduceAction::action)";
+void parser___ReduceAction87___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 = 4212;
+ fra.me.meth = LOCATE_parser___ReduceAction87___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4214 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4215 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4216 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4217 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4218 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4219 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4220 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4221 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4222 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4223 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4224 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4225 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4227 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4227);
+ }
+ /* parser/parser.nit:4229 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4229);
+ }
+ /* parser/parser.nit:4231 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4231);
+ }
+ /* parser/parser.nit:4233 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4233);
+ }
+ /* parser/parser.nit:4235 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4235);
+ }
+ /* parser/parser.nit:4236 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
+ fra.me.REG[11] = fra.me.REG[4];
+ /* parser/parser.nit:4238 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4238);
+ }
+ /* parser/parser.nit:4239 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
+ /* parser/parser.nit:4251 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4252 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4252);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction88___action[] = "parser::ReduceAction88::(parser::ReduceAction::action)";
+void parser___ReduceAction88___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 = 4257;
+ fra.me.meth = LOCATE_parser___ReduceAction88___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4259 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4260 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4261 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4262 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4263 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4264 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4265 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4266 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4267 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4268 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4269 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4270 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4271 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4273 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4273);
+ }
+ /* parser/parser.nit:4275 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4275);
+ }
+ /* parser/parser.nit:4277 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4277);
+ }
+ /* parser/parser.nit:4279 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4279);
+ }
+ /* parser/parser.nit:4281 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4281);
+ }
+ /* parser/parser.nit:4283 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4283);
+ }
+ /* parser/parser.nit:4284 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4286 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4286);
+ }
+ /* parser/parser.nit:4287 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:4299 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4300 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4300);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction89___action[] = "parser::ReduceAction89::(parser::ReduceAction::action)";
+void parser___ReduceAction89___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 = 4305;
+ fra.me.meth = LOCATE_parser___ReduceAction89___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4307 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4308 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4309 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4310 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4311 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4312 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4313 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4314 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4315 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4316 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4317 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4318 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4319 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4321 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4321);
+ }
+ /* parser/parser.nit:4323 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4323);
+ }
+ /* parser/parser.nit:4325 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4325);
+ }
+ /* parser/parser.nit:4327 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4327);
+ }
+ /* parser/parser.nit:4329 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4329);
+ }
+ /* parser/parser.nit:4330 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
+ fra.me.REG[10] = fra.me.REG[5];
+ /* parser/parser.nit:4332 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4332);
+ }
+ /* parser/parser.nit:4333 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4335 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4335);
+ }
+ /* parser/parser.nit:4336 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:4348 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4349 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4349);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction90___action[] = "parser::ReduceAction90::(parser::ReduceAction::action)";
+void parser___ReduceAction90___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ 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___ReduceAction90___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4356 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4357 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4358 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4359 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4360 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4361 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4362 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4363 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4364 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4365 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4366 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4367 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4368 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4369 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4371 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4371);
+ }
+ /* parser/parser.nit:4373 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4373);
+ }
+ /* parser/parser.nit:4375 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4375);
+ }
+ /* parser/parser.nit:4377 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4377);
+ }
+ /* parser/parser.nit:4379 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4379);
+ }
+ /* parser/parser.nit:4381 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4381);
+ }
+ /* parser/parser.nit:4382 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
+ fra.me.REG[11] = fra.me.REG[5];
+ /* parser/parser.nit:4384 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4384);
+ }
+ /* parser/parser.nit:4385 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4387 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4387);
+ }
+ /* parser/parser.nit:4388 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4400 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4401 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4401);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction91___action[] = "parser::ReduceAction91::(parser::ReduceAction::action)";
+void parser___ReduceAction91___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 = 4406;
+ fra.me.meth = LOCATE_parser___ReduceAction91___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4408 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4409 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4410 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4411 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4412 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4413 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4414 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4415 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4416 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4417 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4418 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4419 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4420 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4422 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4422);
+ }
+ /* parser/parser.nit:4424 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4424);
+ }
+ /* parser/parser.nit:4426 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4426);
+ }
+ /* parser/parser.nit:4428 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4428);
+ }
+ /* parser/parser.nit:4430 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4430);
+ }
+ /* parser/parser.nit:4432 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4432);
+ }
+ /* parser/parser.nit:4433 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4435 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4435);
+ }
+ /* parser/parser.nit:4436 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:4448 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4449 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4449);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction92___action[] = "parser::ReduceAction92::(parser::ReduceAction::action)";
+void parser___ReduceAction92___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4454;
+ fra.me.meth = LOCATE_parser___ReduceAction92___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4456 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4457 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4458 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4459 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4460 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4461 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4462 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4463 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4464 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4465 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4466 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4467 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4468 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4469 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4471 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4471);
+ }
+ /* parser/parser.nit:4473 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4473);
+ }
+ /* parser/parser.nit:4475 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4475);
+ }
+ /* parser/parser.nit:4477 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4477);
+ }
+ /* parser/parser.nit:4479 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4479);
+ }
+ /* parser/parser.nit:4481 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4481);
+ }
+ /* parser/parser.nit:4483 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4483);
+ }
+ /* parser/parser.nit:4484 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4486 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4486);
+ }
+ /* parser/parser.nit:4487 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4499 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4500 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4500);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction93___action[] = "parser::ReduceAction93::(parser::ReduceAction::action)";
+void parser___ReduceAction93___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4505;
+ fra.me.meth = LOCATE_parser___ReduceAction93___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4507 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4508 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4509 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4510 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4511 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4512 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4513 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4514 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4515 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4516 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4517 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4518 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4519 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4520 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4522 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4522);
+ }
+ /* parser/parser.nit:4524 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4524);
+ }
+ /* parser/parser.nit:4526 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4526);
+ }
+ /* parser/parser.nit:4528 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4528);
+ }
+ /* parser/parser.nit:4530 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4530);
+ }
+ /* parser/parser.nit:4531 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
+ fra.me.REG[11] = fra.me.REG[6];
+ /* parser/parser.nit:4533 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4533);
+ }
+ /* parser/parser.nit:4535 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4535);
+ }
+ /* parser/parser.nit:4536 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4538 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4538);
+ }
+ /* parser/parser.nit:4539 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4551 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4552 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4552);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction94___action[] = "parser::ReduceAction94::(parser::ReduceAction::action)";
+void parser___ReduceAction94___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4557;
+ fra.me.meth = LOCATE_parser___ReduceAction94___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 15;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4559 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4560 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4561 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4562 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4563 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4564 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4565 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4566 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4567 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4568 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4569 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4570 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4571 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4572 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4573 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4575 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4575);
+ }
+ /* parser/parser.nit:4577 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4577);
+ }
+ /* parser/parser.nit:4579 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4579);
+ }
+ /* parser/parser.nit:4581 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4581);
+ }
+ /* parser/parser.nit:4583 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4583);
+ }
+ /* parser/parser.nit:4585 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4585);
+ }
+ /* parser/parser.nit:4586 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
+ fra.me.REG[12] = fra.me.REG[6];
+ /* parser/parser.nit:4588 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4588);
+ }
+ /* parser/parser.nit:4590 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4590);
+ }
+ /* parser/parser.nit:4591 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
+ fra.me.REG[14] = fra.me.REG[4];
+ /* parser/parser.nit:4593 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4593);
+ }
+ /* parser/parser.nit:4594 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
+ /* parser/parser.nit:4606 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4607 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4607);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction95___action[] = "parser::ReduceAction95::(parser::ReduceAction::action)";
+void parser___ReduceAction95___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 = 4612;
+ fra.me.meth = LOCATE_parser___ReduceAction95___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4614 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4615 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4616 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4617 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4618 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4619 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4620 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4621 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4622 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4623 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4624 */
+ fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4625 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4626 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4628 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4628);
+ }
+ /* parser/parser.nit:4630 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4630);
+ }
+ /* parser/parser.nit:4632 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4632);
+ }
+ /* parser/parser.nit:4634 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4634);
+ }
+ /* parser/parser.nit:4636 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4636);
+ }
+ /* parser/parser.nit:4637 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
+ fra.me.REG[11] = fra.me.REG[5];
+ /* parser/parser.nit:4639 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4639);
+ }
+ /* parser/parser.nit:4640 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
+ fra.me.REG[12] = fra.me.REG[4];
+ /* parser/parser.nit:4642 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4642);
+ }
+ /* parser/parser.nit:4643 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
+ /* parser/parser.nit:4655 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4656 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4656);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction96___action[] = "parser::ReduceAction96::(parser::ReduceAction::action)";
+void parser___ReduceAction96___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4661;
+ fra.me.meth = LOCATE_parser___ReduceAction96___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4663 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4664 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4665 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4666 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4667 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4668 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4669 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4670 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4671 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4672 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4673 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4674 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4675 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4676 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4678 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4678);
+ }
+ /* parser/parser.nit:4680 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4680);
+ }
+ /* parser/parser.nit:4682 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4682);
+ }
+ /* parser/parser.nit:4684 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4684);
+ }
+ /* parser/parser.nit:4686 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4686);
+ }
+ /* parser/parser.nit:4688 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4688);
+ }
+ /* parser/parser.nit:4689 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
+ fra.me.REG[12] = fra.me.REG[5];
+ /* parser/parser.nit:4691 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4691);
+ }
+ /* parser/parser.nit:4692 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4694 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4694);
+ }
+ /* parser/parser.nit:4695 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4707 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4708 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4708);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction97___action[] = "parser::ReduceAction97::(parser::ReduceAction::action)";
+void parser___ReduceAction97___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4713;
+ fra.me.meth = LOCATE_parser___ReduceAction97___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4715 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4716 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4717 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4718 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4719 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4720 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4721 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4722 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4723 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4724 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4725 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4726 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4727 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4728 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4730 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4730);
+ }
+ /* parser/parser.nit:4732 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4732);
+ }
+ /* parser/parser.nit:4734 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4734);
+ }
+ /* parser/parser.nit:4736 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4736);
+ }
+ /* parser/parser.nit:4738 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4738);
+ }
+ /* parser/parser.nit:4739 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
+ fra.me.REG[11] = fra.me.REG[6];
+ /* parser/parser.nit:4741 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4741);
+ }
+ /* parser/parser.nit:4742 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
+ fra.me.REG[12] = fra.me.REG[5];
+ /* parser/parser.nit:4744 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4744);
+ }
+ /* parser/parser.nit:4745 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4747 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4747);
+ }
+ /* parser/parser.nit:4748 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4760 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4761 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4761);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction98___action[] = "parser::ReduceAction98::(parser::ReduceAction::action)";
+void parser___ReduceAction98___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4766;
+ fra.me.meth = LOCATE_parser___ReduceAction98___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 15;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4768 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4769 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4770 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4771 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4772 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4773 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4774 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4775 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4776 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4777 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4778 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4779 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4780 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4781 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4782 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4784 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4784);
+ }
+ /* parser/parser.nit:4786 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4786);
+ }
+ /* parser/parser.nit:4788 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4788);
+ }
+ /* parser/parser.nit:4790 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4790);
+ }
+ /* parser/parser.nit:4792 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4792);
+ }
+ /* parser/parser.nit:4794 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4794);
+ }
+ /* parser/parser.nit:4795 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
+ fra.me.REG[12] = fra.me.REG[6];
+ /* parser/parser.nit:4797 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4797);
+ }
+ /* parser/parser.nit:4798 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
+ fra.me.REG[13] = fra.me.REG[5];
+ /* parser/parser.nit:4800 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4800);
+ }
+ /* parser/parser.nit:4801 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
+ fra.me.REG[14] = fra.me.REG[4];
+ /* parser/parser.nit:4803 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4803);
+ }
+ /* parser/parser.nit:4804 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
+ /* parser/parser.nit:4816 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4817 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4817);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction99___action[] = "parser::ReduceAction99::(parser::ReduceAction::action)";
+void parser___ReduceAction99___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4822;
+ fra.me.meth = LOCATE_parser___ReduceAction99___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 14;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:4824 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4825 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4826 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4827 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4828 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4829 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4830 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4831 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4832 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4833 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4834 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4835 */
+ fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4836 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4837 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4839 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4839);
+ }
+ /* parser/parser.nit:4841 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4841);
+ }
+ /* parser/parser.nit:4843 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4843);
+ }
+ /* parser/parser.nit:4845 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4845);
+ }
+ /* parser/parser.nit:4847 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4847);
+ }
+ /* parser/parser.nit:4849 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4849);
+ }
+ /* parser/parser.nit:4850 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
+ fra.me.REG[12] = fra.me.REG[5];
+ /* parser/parser.nit:4852 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4852);
+ }
+ /* parser/parser.nit:4853 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
+ fra.me.REG[13] = fra.me.REG[4];
+ /* parser/parser.nit:4855 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4855);
+ }
+ /* parser/parser.nit:4856 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[6], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
+ /* parser/parser.nit:4868 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4869 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4869);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction100___action[] = "parser::ReduceAction100::(parser::ReduceAction::action)";
+void parser___ReduceAction100___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4874;
+ fra.me.meth = LOCATE_parser___ReduceAction100___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 15;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4876 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4877 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4878 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4879 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4880 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4881 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4882 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4883 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4884 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4885 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4886 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4887 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4888 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4889 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4890 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4892 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4892);
+ }
+ /* parser/parser.nit:4894 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4894);
+ }
+ /* parser/parser.nit:4896 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4896);
+ }
+ /* parser/parser.nit:4898 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4898);
+ }
+ /* parser/parser.nit:4900 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4900);
+ }
+ /* parser/parser.nit:4902 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4902);
+ }
+ /* parser/parser.nit:4904 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4904);
+ }
+ /* parser/parser.nit:4905 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
+ fra.me.REG[13] = fra.me.REG[5];
+ /* parser/parser.nit:4907 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4907);
+ }
+ /* parser/parser.nit:4908 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
+ fra.me.REG[14] = fra.me.REG[4];
+ /* parser/parser.nit:4910 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4910);
+ }
+ /* parser/parser.nit:4911 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
+ /* parser/parser.nit:4923 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4924 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4924);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction101___action[] = "parser::ReduceAction101::(parser::ReduceAction::action)";
+void parser___ReduceAction101___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4929;
+ fra.me.meth = LOCATE_parser___ReduceAction101___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 15;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4931 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4932 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4933 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4934 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4935 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4936 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4937 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4938 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4939 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4940 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4941 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4942 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4943 */
+ fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4944 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4945 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:4947 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4947);
+ }
+ /* parser/parser.nit:4949 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4949);
+ }
+ /* parser/parser.nit:4951 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4951);
+ }
+ /* parser/parser.nit:4953 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4953);
+ }
+ /* parser/parser.nit:4955 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4955);
+ }
+ /* parser/parser.nit:4956 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
+ fra.me.REG[12] = fra.me.REG[7];
+ /* parser/parser.nit:4958 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4958);
+ }
+ /* parser/parser.nit:4960 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4960);
+ }
+ /* parser/parser.nit:4961 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
+ fra.me.REG[13] = fra.me.REG[5];
+ /* parser/parser.nit:4963 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4963);
+ }
+ /* parser/parser.nit:4964 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
+ fra.me.REG[14] = fra.me.REG[4];
+ /* parser/parser.nit:4966 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4966);
+ }
+ /* parser/parser.nit:4967 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], NIT_NULL, fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[12], fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
+ /* parser/parser.nit:4979 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:4980 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4980);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction102___action[] = "parser::ReduceAction102::(parser::ReduceAction::action)";
+void parser___ReduceAction102___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4985;
+ fra.me.meth = LOCATE_parser___ReduceAction102___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 16;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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[14] = NIT_NULL;
+ fra.me.REG[15] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:4987 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:4988 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4989 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4990 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4991 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4992 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4993 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4994 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4995 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4996 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4997 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4998 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:4999 */
+ fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5000 */
+ fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:5001 */
+ fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:5002 */
+ fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:5004 */
+ REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5004);
+ }
+ /* parser/parser.nit:5006 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5006);
+ }
+ /* parser/parser.nit:5008 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5008);
+ }
+ /* parser/parser.nit:5010 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5010);
+ }
+ /* parser/parser.nit:5012 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5012);
+ }
+ /* parser/parser.nit:5014 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5014);
+ }
+ /* parser/parser.nit:5015 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
+ fra.me.REG[13] = fra.me.REG[7];
+ /* parser/parser.nit:5017 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5017);
+ }
+ /* parser/parser.nit:5019 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5019);
+ }
+ /* parser/parser.nit:5020 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
+ fra.me.REG[14] = fra.me.REG[5];
+ /* parser/parser.nit:5022 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5022);
+ }
+ /* parser/parser.nit:5023 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
+ fra.me.REG[15] = fra.me.REG[4];
+ /* parser/parser.nit:5025 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5025);
+ }
+ /* parser/parser.nit:5026 */
+ fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[12], fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[13], fra.me.REG[6], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
+ /* parser/parser.nit:5038 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5039 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5039);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction103___action[] = "parser::ReduceAction103::(parser::ReduceAction::action)";
+void parser___ReduceAction103___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 = 5044;
+ fra.me.meth = LOCATE_parser___ReduceAction103___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5046 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5047 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5049 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwclass, ID_parser___parser_nodes___TKwclass)) /*cast nullable TKwclass*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5049);
+ }
+ /* parser/parser.nit:5050 */
+ fra.me.REG[3] = NEW_AConcreteClasskind_parser___parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[3]);
+ /* parser/parser.nit:5053 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5054 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5054);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction104___action[] = "parser::ReduceAction104::(parser::ReduceAction::action)";
+void parser___ReduceAction104___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 = 5059;
+ fra.me.meth = LOCATE_parser___ReduceAction104___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5061 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5062 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5063 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5065 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwabstract, ID_parser___parser_nodes___TKwabstract)) /*cast nullable TKwabstract*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5065);
+ }
+ /* parser/parser.nit:5067 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwclass, ID_parser___parser_nodes___TKwclass)) /*cast nullable TKwclass*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5067);
+ }
+ /* parser/parser.nit:5068 */
+ fra.me.REG[3] = NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5072 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5073 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5073);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction105___action[] = "parser::ReduceAction105::(parser::ReduceAction::action)";
+void parser___ReduceAction105___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 = 5078;
+ fra.me.meth = LOCATE_parser___ReduceAction105___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5080 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5081 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5083 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwinterface, ID_parser___parser_nodes___TKwinterface)) /*cast nullable TKwinterface*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5083);
+ }
+ /* parser/parser.nit:5084 */
+ fra.me.REG[3] = NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[3]);
+ /* parser/parser.nit:5087 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5088 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5088);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction106___action[] = "parser::ReduceAction106::(parser::ReduceAction::action)";
+void parser___ReduceAction106___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 = 5093;
+ fra.me.meth = LOCATE_parser___ReduceAction106___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5095 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5096 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5098 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwenum, ID_parser___parser_nodes___TKwenum)) /*cast nullable TKwenum*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5098);
+ }
+ /* parser/parser.nit:5099 */
+ fra.me.REG[3] = NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(fra.me.REG[3]);
+ /* parser/parser.nit:5102 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5103 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5103);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction107___action[] = "parser::ReduceAction107::(parser::ReduceAction::action)";
+void parser___ReduceAction107___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 = 5108;
+ fra.me.meth = LOCATE_parser___ReduceAction107___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5110 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5111 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5113 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwextern, ID_parser___parser_nodes___TKwextern)) /*cast nullable TKwextern*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5113);
+ }
+ /* parser/parser.nit:5114 */
+ fra.me.REG[3] = NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(fra.me.REG[3]);
+ /* parser/parser.nit:5117 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5118 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5118);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction108___action[] = "parser::ReduceAction108::(parser::ReduceAction::action)";
+void parser___ReduceAction108___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 = 5123;
+ fra.me.meth = LOCATE_parser___ReduceAction108___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5125 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5126 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5127 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5128 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5129 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5130 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5131 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:5133 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:5134 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:5136 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:5137 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5137);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction109___action[] = "parser::ReduceAction109::(parser::ReduceAction::action)";
+void parser___ReduceAction109___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 = 5142;
+ fra.me.meth = LOCATE_parser___ReduceAction109___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5144 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5145 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5146 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5147 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5148 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5149 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5150 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5151 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:5154 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5154);
+ }
+ /* parser/parser.nit:5155 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:5156 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:5158 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:5159 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:5160 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5160);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction110___action[] = "parser::ReduceAction110::(parser::ReduceAction::action)";
+void parser___ReduceAction110___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 = 5165;
+ fra.me.meth = LOCATE_parser___ReduceAction110___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5167 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5168 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5169 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5170 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5172 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5173 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5173);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction111___action[] = "parser::ReduceAction111::(parser::ReduceAction::action)";
+void parser___ReduceAction111___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 = 5178;
+ fra.me.meth = LOCATE_parser___ReduceAction111___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5180 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5181 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5183 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5183);
+ }
+ /* parser/parser.nit:5184 */
+ fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:5188 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5189 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5189);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction112___action[] = "parser::ReduceAction112::(parser::ReduceAction::action)";
+void parser___ReduceAction112___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 = 5194;
+ fra.me.meth = LOCATE_parser___ReduceAction112___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5196 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5197 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5198 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5200 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5200);
+ }
+ /* parser/parser.nit:5202 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5202);
+ }
+ /* parser/parser.nit:5203 */
+ fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5207 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5208 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5208);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction113___action[] = "parser::ReduceAction113::(parser::ReduceAction::action)";
+void parser___ReduceAction113___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 = 5213;
+ fra.me.meth = LOCATE_parser___ReduceAction113___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5215 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5216 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5217 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5218 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5219 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5221 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwspecial, ID_parser___parser_nodes___TKwspecial)) /*cast nullable TKwspecial*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5221);
+ }
+ /* parser/parser.nit:5223 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5223);
+ }
+ /* parser/parser.nit:5224 */
+ fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:5229 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5230 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5230);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction114___action[] = "parser::ReduceAction114::(parser::ReduceAction::action)";
+void parser___ReduceAction114___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 = 5235;
+ fra.me.meth = LOCATE_parser___ReduceAction114___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5237 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5238 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5239 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5240 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5241 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5243 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5243);
+ }
+ /* parser/parser.nit:5245 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5245);
+ }
+ /* parser/parser.nit:5246 */
+ fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5251 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5252 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5252);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction115___action[] = "parser::ReduceAction115::(parser::ReduceAction::action)";
+void parser___ReduceAction115___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 = 5257;
+ fra.me.meth = LOCATE_parser___ReduceAction115___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5259 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5260 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5261 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5263 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5264 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5264);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction116___action[] = "parser::ReduceAction116::(parser::ReduceAction::action)";
+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 = 5269;
+ fra.me.meth = LOCATE_parser___ReduceAction116___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5271 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5272 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5273 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5274 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5275 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5276 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5277 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5278 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5280 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5280);
+ }
+ /* parser/parser.nit:5282 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5282);
+ }
+ /* parser/parser.nit:5284 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5284);
+ }
+ /* parser/parser.nit:5286 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5286);
+ }
+ /* parser/parser.nit:5288 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5288);
+ }
+ /* parser/parser.nit:5290 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5290);
+ }
+ /* parser/parser.nit:5291 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5300 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5301 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5301);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction117___action[] = "parser::ReduceAction117::(parser::ReduceAction::action)";
+void parser___ReduceAction117___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 = 5306;
+ fra.me.meth = LOCATE_parser___ReduceAction117___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5308 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5309 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5310 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5311 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5312 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5313 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5314 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5315 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5316 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5318 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5318);
+ }
+ /* parser/parser.nit:5320 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5320);
+ }
+ /* parser/parser.nit:5322 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5322);
+ }
+ /* parser/parser.nit:5324 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5324);
+ }
+ /* parser/parser.nit:5326 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5326);
+ }
+ /* parser/parser.nit:5328 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5328);
+ }
+ /* parser/parser.nit:5330 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5330);
+ }
+ /* parser/parser.nit:5331 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5340 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5341 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5341);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction118___action[] = "parser::ReduceAction118::(parser::ReduceAction::action)";
+void parser___ReduceAction118___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 = 5346;
+ fra.me.meth = LOCATE_parser___ReduceAction118___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5348 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5349 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5350 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5351 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5352 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5353 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5354 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5355 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5356 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5358 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5358);
+ }
+ /* parser/parser.nit:5360 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5360);
+ }
+ /* parser/parser.nit:5362 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5362);
+ }
+ /* parser/parser.nit:5364 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5364);
+ }
+ /* parser/parser.nit:5366 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5366);
+ }
+ /* parser/parser.nit:5368 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5368);
+ }
+ /* parser/parser.nit:5369 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5378 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5379 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5379);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction119___action[] = "parser::ReduceAction119::(parser::ReduceAction::action)";
+void parser___ReduceAction119___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 = 5384;
+ fra.me.meth = LOCATE_parser___ReduceAction119___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5386 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5387 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5388 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5389 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5390 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5391 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5392 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5393 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5394 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5395 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5397 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5397);
+ }
+ /* parser/parser.nit:5399 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5399);
+ }
+ /* parser/parser.nit:5401 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5401);
+ }
+ /* parser/parser.nit:5403 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5403);
+ }
+ /* parser/parser.nit:5405 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5405);
+ }
+ /* parser/parser.nit:5407 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5407);
+ }
+ /* parser/parser.nit:5409 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5409);
+ }
+ /* parser/parser.nit:5410 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5419 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5420 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5420);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction120___action[] = "parser::ReduceAction120::(parser::ReduceAction::action)";
+void parser___ReduceAction120___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 = 5425;
+ fra.me.meth = LOCATE_parser___ReduceAction120___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5427 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5428 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5429 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5430 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5431 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5432 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5433 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5434 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5435 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5437 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5437);
+ }
+ /* parser/parser.nit:5439 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5439);
+ }
+ /* parser/parser.nit:5441 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5441);
+ }
+ /* parser/parser.nit:5443 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5443);
+ }
+ /* parser/parser.nit:5445 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5445);
+ }
+ /* parser/parser.nit:5447 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5447);
+ }
+ /* parser/parser.nit:5448 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5457 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5458 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5458);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction121___action[] = "parser::ReduceAction121::(parser::ReduceAction::action)";
+void parser___ReduceAction121___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 = 5463;
+ fra.me.meth = LOCATE_parser___ReduceAction121___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5465 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5466 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5467 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5468 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5469 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5470 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5471 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5472 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5473 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5474 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5476 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5476);
+ }
+ /* parser/parser.nit:5478 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5478);
+ }
+ /* parser/parser.nit:5480 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5480);
+ }
+ /* parser/parser.nit:5482 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5482);
+ }
+ /* parser/parser.nit:5484 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5484);
+ }
+ /* parser/parser.nit:5486 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5486);
+ }
+ /* parser/parser.nit:5488 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5488);
+ }
+ /* parser/parser.nit:5489 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
+ /* parser/parser.nit:5498 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5499 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5499);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction122___action[] = "parser::ReduceAction122::(parser::ReduceAction::action)";
+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 = 5504;
+ fra.me.meth = LOCATE_parser___ReduceAction122___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:5506 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5507 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5508 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5509 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5510 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5511 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5512 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5513 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5515 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5515);
+ }
+ /* parser/parser.nit:5517 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5517);
+ }
+ /* parser/parser.nit:5519 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5519);
+ }
+ /* parser/parser.nit:5521 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5521);
+ }
+ /* parser/parser.nit:5523 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5523);
+ }
+ /* parser/parser.nit:5524 */
+ fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5532 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5533 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5533);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction123___action[] = "parser::ReduceAction123::(parser::ReduceAction::action)";
+void parser___ReduceAction123___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 = 5538;
+ fra.me.meth = LOCATE_parser___ReduceAction123___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5540 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5541 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5542 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5543 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5544 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5545 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5546 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5547 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5548 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5550 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5550);
+ }
+ /* parser/parser.nit:5552 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5552);
+ }
+ /* parser/parser.nit:5554 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5554);
+ }
+ /* parser/parser.nit:5556 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5556);
+ }
+ /* parser/parser.nit:5558 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5558);
+ }
+ /* parser/parser.nit:5560 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5560);
+ }
+ /* parser/parser.nit:5561 */
+ fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5569 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5570 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5570);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction124___action[] = "parser::ReduceAction124::(parser::ReduceAction::action)";
+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 = 5575;
+ fra.me.meth = LOCATE_parser___ReduceAction124___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:5577 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5578 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5579 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5580 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5581 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5582 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5583 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5584 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5586 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5586);
+ }
+ /* parser/parser.nit:5588 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5588);
+ }
+ /* parser/parser.nit:5590 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5590);
+ }
+ /* parser/parser.nit:5592 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5592);
+ }
+ /* parser/parser.nit:5594 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5594);
+ }
+ /* parser/parser.nit:5595 */
+ fra.me.REG[3] = NEW_AInternMethPropdef_parser___parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5603 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5604 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5604);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction125___action[] = "parser::ReduceAction125::(parser::ReduceAction::action)";
+void parser___ReduceAction125___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 = 5609;
+ fra.me.meth = LOCATE_parser___ReduceAction125___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5611 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5612 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5613 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5614 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5615 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5616 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5617 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5618 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5619 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5621 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5621);
+ }
+ /* parser/parser.nit:5623 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5623);
+ }
+ /* parser/parser.nit:5625 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5625);
+ }
+ /* parser/parser.nit:5627 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5627);
+ }
+ /* parser/parser.nit:5629 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5629);
+ }
+ /* parser/parser.nit:5631 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5631);
+ }
+ /* parser/parser.nit:5632 */
+ fra.me.REG[3] = NEW_AInternMethPropdef_parser___parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:5640 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5641 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5641);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction126___action[] = "parser::ReduceAction126::(parser::ReduceAction::action)";
+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 = 5646;
+ fra.me.meth = LOCATE_parser___ReduceAction126___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:5648 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5649 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5650 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5651 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5652 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5653 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5654 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5655 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5657 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5657);
+ }
+ /* parser/parser.nit:5659 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5659);
+ }
+ /* parser/parser.nit:5661 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5661);
+ }
+ /* parser/parser.nit:5663 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5663);
+ }
+ /* parser/parser.nit:5665 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5665);
+ }
+ /* parser/parser.nit:5666 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___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], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:5677 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5678 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5678);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction127___action[] = "parser::ReduceAction127::(parser::ReduceAction::action)";
+void parser___ReduceAction127___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 = 5683;
+ fra.me.meth = LOCATE_parser___ReduceAction127___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5685 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5686 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5687 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5688 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5689 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5690 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5691 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5692 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5693 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5695 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5695);
+ }
+ /* parser/parser.nit:5697 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5697);
+ }
+ /* parser/parser.nit:5699 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5699);
+ }
+ /* parser/parser.nit:5701 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5701);
+ }
+ /* parser/parser.nit:5703 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5703);
+ }
+ /* parser/parser.nit:5705 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5705);
+ }
+ /* parser/parser.nit:5706 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___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], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:5717 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5718 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5718);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction128___action[] = "parser::ReduceAction128::(parser::ReduceAction::action)";
+void parser___ReduceAction128___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 = 5723;
+ fra.me.meth = LOCATE_parser___ReduceAction128___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5725 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5726 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5727 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5728 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5729 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5730 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5731 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5732 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5733 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5735 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5735);
+ }
+ /* parser/parser.nit:5737 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5737);
+ }
+ /* parser/parser.nit:5739 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5739);
+ }
+ /* parser/parser.nit:5741 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5741);
+ }
+ /* parser/parser.nit:5743 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5743);
+ }
+ /* parser/parser.nit:5745 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5745);
+ }
+ /* parser/parser.nit:5746 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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, NIT_NULL);
+ /* parser/parser.nit:5757 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5758 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5758);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction129___action[] = "parser::ReduceAction129::(parser::ReduceAction::action)";
+void parser___ReduceAction129___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 = 5763;
+ fra.me.meth = LOCATE_parser___ReduceAction129___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5765 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5766 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5767 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5768 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5769 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5770 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5771 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5772 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5773 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5774 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5776 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5776);
+ }
+ /* parser/parser.nit:5778 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5778);
+ }
+ /* parser/parser.nit:5780 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5780);
+ }
+ /* parser/parser.nit:5782 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5782);
+ }
+ /* parser/parser.nit:5784 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5784);
+ }
+ /* parser/parser.nit:5786 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5786);
+ }
+ /* parser/parser.nit:5788 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5788);
+ }
+ /* parser/parser.nit:5789 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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, NIT_NULL);
+ /* parser/parser.nit:5800 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5801 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5801);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction130___action[] = "parser::ReduceAction130::(parser::ReduceAction::action)";
+void parser___ReduceAction130___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 = 5806;
+ fra.me.meth = LOCATE_parser___ReduceAction130___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5808 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5809 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5810 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5811 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5812 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5813 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5814 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5815 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5816 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5818 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5818);
+ }
+ /* parser/parser.nit:5820 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5820);
+ }
+ /* parser/parser.nit:5822 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5822);
+ }
+ /* parser/parser.nit:5824 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5824);
+ }
+ /* parser/parser.nit:5826 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5826);
+ }
+ /* parser/parser.nit:5828 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5828);
+ }
+ /* parser/parser.nit:5829 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:5840 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5841 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5841);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction131___action[] = "parser::ReduceAction131::(parser::ReduceAction::action)";
+void parser___ReduceAction131___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 = 5846;
+ fra.me.meth = LOCATE_parser___ReduceAction131___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5848 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5849 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5850 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5851 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5852 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5853 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5854 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5855 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5856 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5857 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5859 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5859);
+ }
+ /* parser/parser.nit:5861 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5861);
+ }
+ /* parser/parser.nit:5863 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5863);
+ }
+ /* parser/parser.nit:5865 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5865);
+ }
+ /* parser/parser.nit:5867 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5867);
+ }
+ /* parser/parser.nit:5869 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5869);
+ }
+ /* parser/parser.nit:5871 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5871);
+ }
+ /* parser/parser.nit:5872 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:5883 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5884 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5884);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction132___action[] = "parser::ReduceAction132::(parser::ReduceAction::action)";
+void parser___ReduceAction132___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 = 5889;
+ fra.me.meth = LOCATE_parser___ReduceAction132___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5891 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5892 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5893 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5894 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5895 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5896 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5897 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5898 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5899 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5900 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5902 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5902);
+ }
+ /* parser/parser.nit:5904 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5904);
+ }
+ /* parser/parser.nit:5906 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5906);
+ }
+ /* parser/parser.nit:5908 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5908);
+ }
+ /* parser/parser.nit:5910 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5910);
+ }
+ /* parser/parser.nit:5912 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5912);
+ }
+ /* parser/parser.nit:5914 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5914);
+ }
+ /* parser/parser.nit:5915 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], NIT_NULL);
+ /* parser/parser.nit:5926 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5927 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5927);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction133___action[] = "parser::ReduceAction133::(parser::ReduceAction::action)";
+void parser___ReduceAction133___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 = 5932;
+ fra.me.meth = LOCATE_parser___ReduceAction133___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5934 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5935 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5936 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5937 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5938 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5939 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5940 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5941 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5942 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5943 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5944 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5946 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5946);
+ }
+ /* parser/parser.nit:5948 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5948);
+ }
+ /* parser/parser.nit:5950 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5950);
+ }
+ /* parser/parser.nit:5952 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5952);
+ }
+ /* parser/parser.nit:5954 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5954);
+ }
+ /* parser/parser.nit:5956 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5956);
+ }
+ /* parser/parser.nit:5958 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5958);
+ }
+ /* parser/parser.nit:5960 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5960);
+ }
+ /* parser/parser.nit:5961 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], NIT_NULL);
+ /* parser/parser.nit:5972 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:5973 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5973);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction134___action[] = "parser::ReduceAction134::(parser::ReduceAction::action)";
+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 = 5978;
+ fra.me.meth = LOCATE_parser___ReduceAction134___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:5980 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:5981 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5982 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5983 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5984 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5985 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5986 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5987 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5988 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:5990 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5990);
+ }
+ /* parser/parser.nit:5992 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5992);
+ }
+ /* parser/parser.nit:5994 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5994);
+ }
+ /* parser/parser.nit:5996 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5996);
+ }
+ /* parser/parser.nit:5998 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5998);
+ }
+ /* parser/parser.nit:6000 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6000);
+ }
+ /* parser/parser.nit:6001 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6012 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6013 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6013);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction135___action[] = "parser::ReduceAction135::(parser::ReduceAction::action)";
+void parser___ReduceAction135___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 = 6018;
+ fra.me.meth = LOCATE_parser___ReduceAction135___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6020 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6021 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6022 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6023 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6024 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6025 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6026 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6027 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6028 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6029 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6031 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6031);
+ }
+ /* parser/parser.nit:6033 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6033);
+ }
+ /* parser/parser.nit:6035 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6035);
+ }
+ /* parser/parser.nit:6037 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6037);
+ }
+ /* parser/parser.nit:6039 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6039);
+ }
+ /* parser/parser.nit:6041 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6041);
+ }
+ /* parser/parser.nit:6043 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6043);
+ }
+ /* parser/parser.nit:6044 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6055 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6056 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6056);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction136___action[] = "parser::ReduceAction136::(parser::ReduceAction::action)";
+void parser___ReduceAction136___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 = 6061;
+ fra.me.meth = LOCATE_parser___ReduceAction136___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6063 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6064 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6065 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6066 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6067 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6068 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6069 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6070 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6071 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6072 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6074 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6074);
+ }
+ /* parser/parser.nit:6076 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6076);
+ }
+ /* parser/parser.nit:6078 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6078);
+ }
+ /* parser/parser.nit:6080 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6080);
+ }
+ /* parser/parser.nit:6082 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6082);
+ }
+ /* parser/parser.nit:6084 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6084);
+ }
+ /* parser/parser.nit:6086 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6086);
+ }
+ /* parser/parser.nit:6087 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6098 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6099 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6099);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction137___action[] = "parser::ReduceAction137::(parser::ReduceAction::action)";
+void parser___ReduceAction137___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 = 6104;
+ fra.me.meth = LOCATE_parser___ReduceAction137___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6106 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6107 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6108 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6109 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6110 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6111 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6112 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6113 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6114 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6115 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6116 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6118 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6118);
+ }
+ /* parser/parser.nit:6120 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6120);
+ }
+ /* parser/parser.nit:6122 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6122);
+ }
+ /* parser/parser.nit:6124 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6124);
+ }
+ /* parser/parser.nit:6126 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6126);
+ }
+ /* parser/parser.nit:6128 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6128);
+ }
+ /* parser/parser.nit:6130 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6130);
+ }
+ /* parser/parser.nit:6132 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6132);
+ }
+ /* parser/parser.nit:6133 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6144 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6145 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6145);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction138___action[] = "parser::ReduceAction138::(parser::ReduceAction::action)";
+void parser___ReduceAction138___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 = 6150;
+ fra.me.meth = LOCATE_parser___ReduceAction138___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6152 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6153 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6154 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6155 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6156 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6157 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6158 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6159 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6160 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6161 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6163 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6163);
+ }
+ /* parser/parser.nit:6165 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6165);
+ }
+ /* parser/parser.nit:6167 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6167);
+ }
+ /* parser/parser.nit:6169 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6169);
+ }
+ /* parser/parser.nit:6171 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6171);
+ }
+ /* parser/parser.nit:6173 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6173);
+ }
+ /* parser/parser.nit:6175 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6175);
+ }
+ /* parser/parser.nit:6176 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:6187 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6188 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6188);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction139___action[] = "parser::ReduceAction139::(parser::ReduceAction::action)";
+void parser___ReduceAction139___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 = 6193;
+ fra.me.meth = LOCATE_parser___ReduceAction139___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6195 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6196 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6197 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6198 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6199 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6200 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6201 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6202 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6203 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6204 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6205 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6207 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6207);
+ }
+ /* parser/parser.nit:6209 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6209);
+ }
+ /* parser/parser.nit:6211 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6211);
+ }
+ /* parser/parser.nit:6213 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6213);
+ }
+ /* parser/parser.nit:6215 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6215);
+ }
+ /* parser/parser.nit:6217 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6217);
+ }
+ /* parser/parser.nit:6219 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6219);
+ }
+ /* parser/parser.nit:6221 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6221);
+ }
+ /* parser/parser.nit:6222 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:6233 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6234 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6234);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction140___action[] = "parser::ReduceAction140::(parser::ReduceAction::action)";
+void parser___ReduceAction140___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 = 6239;
+ fra.me.meth = LOCATE_parser___ReduceAction140___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6241 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6242 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6243 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6244 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6245 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6246 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6247 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6248 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6249 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6250 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6251 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6253 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6253);
+ }
+ /* parser/parser.nit:6255 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6255);
+ }
+ /* parser/parser.nit:6257 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6257);
+ }
+ /* parser/parser.nit:6259 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6259);
+ }
+ /* parser/parser.nit:6261 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6261);
+ }
+ /* parser/parser.nit:6263 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6263);
+ }
+ /* parser/parser.nit:6265 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6265);
+ }
+ /* parser/parser.nit:6267 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6267);
+ }
+ /* parser/parser.nit:6268 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], NIT_NULL, 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]);
+ /* parser/parser.nit:6279 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6280 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6280);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction141___action[] = "parser::ReduceAction141::(parser::ReduceAction::action)";
+void parser___ReduceAction141___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 = 6285;
+ fra.me.meth = LOCATE_parser___ReduceAction141___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6287 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6288 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6289 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6290 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6291 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6292 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6293 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6294 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6295 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6296 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6297 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6298 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6300 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6300);
+ }
+ /* parser/parser.nit:6302 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6302);
+ }
+ /* parser/parser.nit:6304 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6304);
+ }
+ /* parser/parser.nit:6306 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6306);
+ }
+ /* parser/parser.nit:6308 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6308);
+ }
+ /* parser/parser.nit:6310 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6310);
+ }
+ /* parser/parser.nit:6312 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6312);
+ }
+ /* parser/parser.nit:6314 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6314);
+ }
+ /* parser/parser.nit:6316 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6316);
+ }
+ /* parser/parser.nit:6317 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[11], 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]);
+ /* parser/parser.nit:6328 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6329 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6329);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction142___action[] = "parser::ReduceAction142::(parser::ReduceAction::action)";
+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 = 6334;
+ fra.me.meth = LOCATE_parser___ReduceAction142___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6336 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6337 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6338 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6339 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6340 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6341 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6342 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6344 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6344);
+ }
+ /* parser/parser.nit:6346 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6346);
+ }
+ /* parser/parser.nit:6348 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6348);
+ }
+ /* parser/parser.nit:6350 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6350);
+ }
+ /* parser/parser.nit:6352 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6352);
+ }
+ /* parser/parser.nit:6354 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6354);
+ }
+ /* parser/parser.nit:6355 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6366 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6367 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6367);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction143___action[] = "parser::ReduceAction143::(parser::ReduceAction::action)";
+void parser___ReduceAction143___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 = 6372;
+ fra.me.meth = LOCATE_parser___ReduceAction143___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6374 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6375 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6376 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6377 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6378 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6379 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6380 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6381 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6383 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6383);
+ }
+ /* parser/parser.nit:6385 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6385);
+ }
+ /* parser/parser.nit:6387 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6387);
+ }
+ /* parser/parser.nit:6389 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6389);
+ }
+ /* parser/parser.nit:6391 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6391);
+ }
+ /* parser/parser.nit:6393 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6393);
+ }
+ /* parser/parser.nit:6395 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6395);
+ }
+ /* parser/parser.nit:6396 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:6407 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6408 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6408);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction144___action[] = "parser::ReduceAction144::(parser::ReduceAction::action)";
+void parser___ReduceAction144___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 = 6413;
+ fra.me.meth = LOCATE_parser___ReduceAction144___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6415 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6416 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6417 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6418 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6419 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6420 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6421 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6422 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6424 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6424);
+ }
+ /* parser/parser.nit:6426 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6426);
+ }
+ /* parser/parser.nit:6428 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6428);
+ }
+ /* parser/parser.nit:6430 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6430);
+ }
+ /* parser/parser.nit:6432 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6432);
+ }
+ /* parser/parser.nit:6434 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6434);
+ }
+ /* parser/parser.nit:6436 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6436);
+ }
+ /* parser/parser.nit:6437 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:6448 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6449 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6449);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction145___action[] = "parser::ReduceAction145::(parser::ReduceAction::action)";
+void parser___ReduceAction145___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 = 6454;
+ fra.me.meth = LOCATE_parser___ReduceAction145___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6456 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6457 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6458 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6459 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6460 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6461 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6462 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6463 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6464 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6466 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6466);
+ }
+ /* parser/parser.nit:6468 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6468);
+ }
+ /* parser/parser.nit:6470 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6470);
+ }
+ /* parser/parser.nit:6472 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6472);
+ }
+ /* parser/parser.nit:6474 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6474);
+ }
+ /* parser/parser.nit:6476 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6476);
+ }
+ /* parser/parser.nit:6478 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6478);
+ }
+ /* parser/parser.nit:6480 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6480);
+ }
+ /* parser/parser.nit:6481 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:6492 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6493 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6493);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction146___action[] = "parser::ReduceAction146::(parser::ReduceAction::action)";
+void parser___ReduceAction146___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 = 6498;
+ fra.me.meth = LOCATE_parser___ReduceAction146___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6500 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6501 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6502 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6503 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6504 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6506 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6506);
+ }
+ /* parser/parser.nit:6508 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6508);
+ }
+ /* parser/parser.nit:6510 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6510);
+ }
+ /* parser/parser.nit:6512 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6512);
+ }
+ /* parser/parser.nit:6513 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6525 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6526 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6526);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction147___action[] = "parser::ReduceAction147::(parser::ReduceAction::action)";
+void parser___ReduceAction147___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 = 6531;
+ fra.me.meth = LOCATE_parser___ReduceAction147___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:6533 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6534 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6535 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6536 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6537 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6538 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6540 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6540);
+ }
+ /* parser/parser.nit:6542 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6542);
+ }
+ /* parser/parser.nit:6544 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6544);
+ }
+ /* parser/parser.nit:6546 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6546);
+ }
+ /* parser/parser.nit:6548 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6548);
+ }
+ /* parser/parser.nit:6549 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6561 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6562 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6562);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction148___action[] = "parser::ReduceAction148::(parser::ReduceAction::action)";
+void parser___ReduceAction148___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 = 6567;
+ fra.me.meth = LOCATE_parser___ReduceAction148___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:6569 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6570 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6571 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6572 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6573 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6574 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6576 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6576);
+ }
+ /* parser/parser.nit:6578 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6578);
+ }
+ /* parser/parser.nit:6580 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6580);
+ }
+ /* parser/parser.nit:6582 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6582);
+ }
+ /* parser/parser.nit:6584 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6584);
+ }
+ /* parser/parser.nit:6585 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6597 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6598 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6598);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction149___action[] = "parser::ReduceAction149::(parser::ReduceAction::action)";
+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 = 6603;
+ fra.me.meth = LOCATE_parser___ReduceAction149___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6605 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6606 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6607 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6608 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6609 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6610 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6611 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6613 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6613);
+ }
+ /* parser/parser.nit:6615 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6615);
+ }
+ /* parser/parser.nit:6617 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6617);
+ }
+ /* parser/parser.nit:6619 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6619);
+ }
+ /* parser/parser.nit:6621 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6621);
+ }
+ /* parser/parser.nit:6623 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6623);
+ }
+ /* parser/parser.nit:6624 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6636 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6637 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6637);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction150___action[] = "parser::ReduceAction150::(parser::ReduceAction::action)";
+void parser___ReduceAction150___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 = 6642;
+ fra.me.meth = LOCATE_parser___ReduceAction150___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:6644 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6645 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6646 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6647 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6648 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6649 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6651 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6651);
+ }
+ /* parser/parser.nit:6653 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6653);
+ }
+ /* parser/parser.nit:6655 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6655);
+ }
+ /* parser/parser.nit:6657 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6657);
+ }
+ /* parser/parser.nit:6659 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6659);
+ }
+ /* parser/parser.nit:6660 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6672 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6673 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6673);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction151___action[] = "parser::ReduceAction151::(parser::ReduceAction::action)";
+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 = 6678;
+ fra.me.meth = LOCATE_parser___ReduceAction151___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6680 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6681 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6682 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6683 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6684 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6685 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6686 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6688 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6688);
+ }
+ /* parser/parser.nit:6690 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6690);
+ }
+ /* parser/parser.nit:6692 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6692);
+ }
+ /* parser/parser.nit:6694 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6694);
+ }
+ /* parser/parser.nit:6696 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6696);
+ }
+ /* parser/parser.nit:6698 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6698);
+ }
+ /* parser/parser.nit:6699 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6711 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6712 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6712);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction152___action[] = "parser::ReduceAction152::(parser::ReduceAction::action)";
+void parser___ReduceAction152___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 = 6717;
+ fra.me.meth = LOCATE_parser___ReduceAction152___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6719 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6720 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6721 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6722 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6723 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6724 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6725 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6727 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6727);
+ }
+ /* parser/parser.nit:6729 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6729);
+ }
+ /* parser/parser.nit:6731 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6731);
+ }
+ /* parser/parser.nit:6733 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6733);
+ }
+ /* parser/parser.nit:6735 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6735);
+ }
+ /* parser/parser.nit:6737 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6737);
+ }
+ /* parser/parser.nit:6738 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6750 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6751 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6751);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction153___action[] = "parser::ReduceAction153::(parser::ReduceAction::action)";
+void parser___ReduceAction153___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 = 6756;
+ fra.me.meth = LOCATE_parser___ReduceAction153___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6758 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6759 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6760 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6761 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6762 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6763 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6764 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6765 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6767 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6767);
+ }
+ /* parser/parser.nit:6769 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6769);
+ }
+ /* parser/parser.nit:6771 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6771);
+ }
+ /* parser/parser.nit:6773 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6773);
+ }
+ /* parser/parser.nit:6775 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6775);
+ }
+ /* parser/parser.nit:6777 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6777);
+ }
+ /* parser/parser.nit:6779 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6779);
+ }
+ /* parser/parser.nit:6780 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:6792 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6793 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6793);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction154___action[] = "parser::ReduceAction154::(parser::ReduceAction::action)";
+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 = 6798;
+ fra.me.meth = LOCATE_parser___ReduceAction154___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:6800 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6801 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6802 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6803 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6804 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6805 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6807 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6807);
+ }
+ /* parser/parser.nit:6809 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6809);
+ }
+ /* parser/parser.nit:6811 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6811);
+ }
+ /* parser/parser.nit:6813 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6813);
+ }
+ /* parser/parser.nit:6815 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6815);
+ }
+ /* parser/parser.nit:6816 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:6828 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6829 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6829);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction155___action[] = "parser::ReduceAction155::(parser::ReduceAction::action)";
+void parser___ReduceAction155___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 = 6834;
+ fra.me.meth = LOCATE_parser___ReduceAction155___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6836 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6837 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6838 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6839 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6840 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6841 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6842 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6844 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6844);
+ }
+ /* parser/parser.nit:6846 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6846);
+ }
+ /* parser/parser.nit:6848 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6848);
+ }
+ /* parser/parser.nit:6850 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6850);
+ }
+ /* parser/parser.nit:6852 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6852);
+ }
+ /* parser/parser.nit:6854 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6854);
+ }
+ /* parser/parser.nit:6855 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:6867 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6868 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6868);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction156___action[] = "parser::ReduceAction156::(parser::ReduceAction::action)";
+void parser___ReduceAction156___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 = 6873;
+ fra.me.meth = LOCATE_parser___ReduceAction156___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6875 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6876 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6877 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6878 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6879 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6880 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6881 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6883 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6883);
+ }
+ /* parser/parser.nit:6885 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6885);
+ }
+ /* parser/parser.nit:6887 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6887);
+ }
+ /* parser/parser.nit:6889 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6889);
+ }
+ /* parser/parser.nit:6891 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6891);
+ }
+ /* parser/parser.nit:6893 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6893);
+ }
+ /* parser/parser.nit:6894 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:6906 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6907 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6907);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction157___action[] = "parser::ReduceAction157::(parser::ReduceAction::action)";
+void parser___ReduceAction157___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 = 6912;
+ fra.me.meth = LOCATE_parser___ReduceAction157___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6914 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6915 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6916 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6917 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6918 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6919 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6920 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6921 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6923 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6923);
+ }
+ /* parser/parser.nit:6925 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6925);
+ }
+ /* parser/parser.nit:6927 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6927);
+ }
+ /* parser/parser.nit:6929 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6929);
+ }
+ /* parser/parser.nit:6931 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6931);
+ }
+ /* parser/parser.nit:6933 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6933);
+ }
+ /* parser/parser.nit:6935 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6935);
+ }
+ /* parser/parser.nit:6936 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:6948 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6949 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6949);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction158___action[] = "parser::ReduceAction158::(parser::ReduceAction::action)";
+void parser___ReduceAction158___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 = 6954;
+ fra.me.meth = LOCATE_parser___ReduceAction158___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6956 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6957 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6958 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6959 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6960 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6961 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6962 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6964 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6964);
+ }
+ /* parser/parser.nit:6966 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6966);
+ }
+ /* parser/parser.nit:6968 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6968);
+ }
+ /* parser/parser.nit:6970 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6970);
+ }
+ /* parser/parser.nit:6972 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6972);
+ }
+ /* parser/parser.nit:6974 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6974);
+ }
+ /* parser/parser.nit:6975 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:6987 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:6988 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6988);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction159___action[] = "parser::ReduceAction159::(parser::ReduceAction::action)";
+void parser___ReduceAction159___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 = 6993;
+ fra.me.meth = LOCATE_parser___ReduceAction159___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:6995 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:6996 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6997 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6998 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:6999 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7000 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7001 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7002 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7004 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7004);
+ }
+ /* parser/parser.nit:7006 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7006);
+ }
+ /* parser/parser.nit:7008 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7008);
+ }
+ /* parser/parser.nit:7010 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7010);
+ }
+ /* parser/parser.nit:7012 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7012);
+ }
+ /* parser/parser.nit:7014 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7014);
+ }
+ /* parser/parser.nit:7016 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7016);
+ }
+ /* parser/parser.nit:7017 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:7029 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7030 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7030);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction160___action[] = "parser::ReduceAction160::(parser::ReduceAction::action)";
+void parser___ReduceAction160___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 = 7035;
+ fra.me.meth = LOCATE_parser___ReduceAction160___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7037 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7038 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7039 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7040 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7041 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7042 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7043 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7044 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7046 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7046);
+ }
+ /* parser/parser.nit:7048 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7048);
+ }
+ /* parser/parser.nit:7050 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7050);
+ }
+ /* parser/parser.nit:7052 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7052);
+ }
+ /* parser/parser.nit:7054 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7054);
+ }
+ /* parser/parser.nit:7056 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7056);
+ }
+ /* parser/parser.nit:7058 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7058);
+ }
+ /* parser/parser.nit:7059 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:7071 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7072 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7072);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction161___action[] = "parser::ReduceAction161::(parser::ReduceAction::action)";
+void parser___ReduceAction161___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 = 7077;
+ fra.me.meth = LOCATE_parser___ReduceAction161___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7079 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7080 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7081 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7082 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7083 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7084 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7085 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7086 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7087 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7089 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7089);
+ }
+ /* parser/parser.nit:7091 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7091);
+ }
+ /* parser/parser.nit:7093 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7093);
+ }
+ /* parser/parser.nit:7095 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7095);
+ }
+ /* parser/parser.nit:7097 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7097);
+ }
+ /* parser/parser.nit:7099 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7099);
+ }
+ /* parser/parser.nit:7101 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7101);
+ }
+ /* parser/parser.nit:7103 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7103);
+ }
+ /* parser/parser.nit:7104 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:7116 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7117 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7117);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction162___action[] = "parser::ReduceAction162::(parser::ReduceAction::action)";
+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 = 7122;
+ fra.me.meth = LOCATE_parser___ReduceAction162___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:7124 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7125 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7126 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7127 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7128 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7129 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7130 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7131 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7133 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7133);
+ }
+ /* parser/parser.nit:7135 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7135);
+ }
+ /* parser/parser.nit:7137 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7137);
+ }
+ /* parser/parser.nit:7139 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7139);
+ }
+ /* parser/parser.nit:7141 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7141);
+ }
+ /* parser/parser.nit:7142 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7154 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7155 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7155);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction163___action[] = "parser::ReduceAction163::(parser::ReduceAction::action)";
+void parser___ReduceAction163___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 = 7160;
+ fra.me.meth = LOCATE_parser___ReduceAction163___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7162 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7163 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7164 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7165 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7166 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7167 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7168 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7169 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7170 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7172 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7172);
+ }
+ /* parser/parser.nit:7174 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7174);
+ }
+ /* parser/parser.nit:7176 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7176);
+ }
+ /* parser/parser.nit:7178 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7178);
+ }
+ /* parser/parser.nit:7180 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7180);
+ }
+ /* parser/parser.nit:7182 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7182);
+ }
+ /* parser/parser.nit:7183 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7195 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7196 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7196);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction164___action[] = "parser::ReduceAction164::(parser::ReduceAction::action)";
+void parser___ReduceAction164___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 = 7201;
+ fra.me.meth = LOCATE_parser___ReduceAction164___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7203 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7204 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7205 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7206 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7207 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7208 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7209 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7210 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7211 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7213 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7213);
+ }
+ /* parser/parser.nit:7215 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7215);
+ }
+ /* parser/parser.nit:7217 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7217);
+ }
+ /* parser/parser.nit:7219 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7219);
+ }
+ /* parser/parser.nit:7221 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7221);
+ }
+ /* parser/parser.nit:7223 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7223);
+ }
+ /* parser/parser.nit:7224 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7236 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7237 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7237);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction165___action[] = "parser::ReduceAction165::(parser::ReduceAction::action)";
+void parser___ReduceAction165___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 = 7242;
+ fra.me.meth = LOCATE_parser___ReduceAction165___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7244 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7245 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7246 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7247 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7248 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7249 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7250 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7251 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7252 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7253 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7255 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7255);
+ }
+ /* parser/parser.nit:7257 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7257);
+ }
+ /* parser/parser.nit:7259 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7259);
+ }
+ /* parser/parser.nit:7261 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7261);
+ }
+ /* parser/parser.nit:7263 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7263);
+ }
+ /* parser/parser.nit:7265 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7265);
+ }
+ /* parser/parser.nit:7267 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7267);
+ }
+ /* parser/parser.nit:7268 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7280 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7281 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7281);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction166___action[] = "parser::ReduceAction166::(parser::ReduceAction::action)";
+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 = 7286;
+ fra.me.meth = LOCATE_parser___ReduceAction166___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7288 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7289 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7290 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7291 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7292 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7293 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7294 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7295 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7296 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7298 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7298);
+ }
+ /* parser/parser.nit:7300 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7300);
+ }
+ /* parser/parser.nit:7302 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7302);
+ }
+ /* parser/parser.nit:7304 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7304);
+ }
+ /* parser/parser.nit:7306 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7306);
+ }
+ /* parser/parser.nit:7308 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7308);
+ }
+ /* parser/parser.nit:7309 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7321 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7322 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7322);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction167___action[] = "parser::ReduceAction167::(parser::ReduceAction::action)";
+void parser___ReduceAction167___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 = 7327;
+ fra.me.meth = LOCATE_parser___ReduceAction167___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7329 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7330 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7331 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7332 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7333 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7334 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7335 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7336 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7337 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7338 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7340 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7340);
+ }
+ /* parser/parser.nit:7342 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7342);
+ }
+ /* parser/parser.nit:7344 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7344);
+ }
+ /* parser/parser.nit:7346 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7346);
+ }
+ /* parser/parser.nit:7348 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7348);
+ }
+ /* parser/parser.nit:7350 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7350);
+ }
+ /* parser/parser.nit:7352 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7352);
+ }
+ /* parser/parser.nit:7353 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7365 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7366 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7366);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction168___action[] = "parser::ReduceAction168::(parser::ReduceAction::action)";
+void parser___ReduceAction168___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 = 7371;
+ fra.me.meth = LOCATE_parser___ReduceAction168___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7373 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7374 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7375 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7376 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7377 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7378 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7379 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7380 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7381 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7382 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7384 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7384);
+ }
+ /* parser/parser.nit:7386 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7386);
+ }
+ /* parser/parser.nit:7388 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7388);
+ }
+ /* parser/parser.nit:7390 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7390);
+ }
+ /* parser/parser.nit:7392 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7392);
+ }
+ /* parser/parser.nit:7394 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7394);
+ }
+ /* parser/parser.nit:7396 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7396);
+ }
+ /* parser/parser.nit:7397 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7409 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7410 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7410);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction169___action[] = "parser::ReduceAction169::(parser::ReduceAction::action)";
+void parser___ReduceAction169___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 = 7415;
+ fra.me.meth = LOCATE_parser___ReduceAction169___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7417 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7418 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7419 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7420 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7421 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7422 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7423 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7424 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7425 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7426 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7427 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7429 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7429);
+ }
+ /* parser/parser.nit:7431 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7431);
+ }
+ /* parser/parser.nit:7433 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7433);
+ }
+ /* parser/parser.nit:7435 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7435);
+ }
+ /* parser/parser.nit:7437 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7437);
+ }
+ /* parser/parser.nit:7439 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7439);
+ }
+ /* parser/parser.nit:7441 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7441);
+ }
+ /* parser/parser.nit:7443 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7443);
+ }
+ /* parser/parser.nit:7444 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:7456 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7457 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7457);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction170___action[] = "parser::ReduceAction170::(parser::ReduceAction::action)";
+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 = 7462;
+ fra.me.meth = LOCATE_parser___ReduceAction170___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7464 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7465 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7466 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7467 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7468 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7469 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7470 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7471 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7472 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7474 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7474);
+ }
+ /* parser/parser.nit:7476 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7476);
+ }
+ /* parser/parser.nit:7478 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7478);
+ }
+ /* parser/parser.nit:7480 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7480);
+ }
+ /* parser/parser.nit:7482 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7482);
+ }
+ /* parser/parser.nit:7484 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7484);
+ }
+ /* parser/parser.nit:7485 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7497 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7498 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7498);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction171___action[] = "parser::ReduceAction171::(parser::ReduceAction::action)";
+void parser___ReduceAction171___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 = 7503;
+ fra.me.meth = LOCATE_parser___ReduceAction171___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7505 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7506 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7507 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7508 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7509 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7510 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7511 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7512 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7513 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7514 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7516 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7516);
+ }
+ /* parser/parser.nit:7518 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7518);
+ }
+ /* parser/parser.nit:7520 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7520);
+ }
+ /* parser/parser.nit:7522 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7522);
+ }
+ /* parser/parser.nit:7524 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7524);
+ }
+ /* parser/parser.nit:7526 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7526);
+ }
+ /* parser/parser.nit:7528 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7528);
+ }
+ /* parser/parser.nit:7529 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7541 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7542 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7542);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction172___action[] = "parser::ReduceAction172::(parser::ReduceAction::action)";
+void parser___ReduceAction172___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 = 7547;
+ fra.me.meth = LOCATE_parser___ReduceAction172___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7549 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7550 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7551 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7552 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7553 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7554 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7555 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7556 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7557 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7558 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7560 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7560);
+ }
+ /* parser/parser.nit:7562 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7562);
+ }
+ /* parser/parser.nit:7564 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7564);
+ }
+ /* parser/parser.nit:7566 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7566);
+ }
+ /* parser/parser.nit:7568 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7568);
+ }
+ /* parser/parser.nit:7570 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7570);
+ }
+ /* parser/parser.nit:7572 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7572);
+ }
+ /* parser/parser.nit:7573 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7585 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7586 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7586);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction173___action[] = "parser::ReduceAction173::(parser::ReduceAction::action)";
+void parser___ReduceAction173___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 = 7591;
+ fra.me.meth = LOCATE_parser___ReduceAction173___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7593 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7594 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7595 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7596 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7597 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7598 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7599 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7600 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7601 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7602 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7603 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7605 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7605);
+ }
+ /* parser/parser.nit:7607 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7607);
+ }
+ /* parser/parser.nit:7609 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7609);
+ }
+ /* parser/parser.nit:7611 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7611);
+ }
+ /* parser/parser.nit:7613 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7613);
+ }
+ /* parser/parser.nit:7615 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7615);
+ }
+ /* parser/parser.nit:7617 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7617);
+ }
+ /* parser/parser.nit:7619 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7619);
+ }
+ /* parser/parser.nit:7620 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7632 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7633 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7633);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction174___action[] = "parser::ReduceAction174::(parser::ReduceAction::action)";
+void parser___ReduceAction174___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 = 7638;
+ fra.me.meth = LOCATE_parser___ReduceAction174___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7640 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7641 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7642 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7643 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7644 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7645 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7646 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7647 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7648 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7649 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7651 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7651);
+ }
+ /* parser/parser.nit:7653 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7653);
+ }
+ /* parser/parser.nit:7655 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7655);
+ }
+ /* parser/parser.nit:7657 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7657);
+ }
+ /* parser/parser.nit:7659 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7659);
+ }
+ /* parser/parser.nit:7661 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7661);
+ }
+ /* parser/parser.nit:7663 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7663);
+ }
+ /* parser/parser.nit:7664 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7676 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7677 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7677);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction175___action[] = "parser::ReduceAction175::(parser::ReduceAction::action)";
+void parser___ReduceAction175___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 = 7682;
+ fra.me.meth = LOCATE_parser___ReduceAction175___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7684 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7685 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7686 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7687 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7688 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7689 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7690 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7691 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7692 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7693 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7694 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7696 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7696);
+ }
+ /* parser/parser.nit:7698 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7698);
+ }
+ /* parser/parser.nit:7700 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7700);
+ }
+ /* parser/parser.nit:7702 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7702);
+ }
+ /* parser/parser.nit:7704 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7704);
+ }
+ /* parser/parser.nit:7706 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7706);
+ }
+ /* parser/parser.nit:7708 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7708);
+ }
+ /* parser/parser.nit:7710 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7710);
+ }
+ /* parser/parser.nit:7711 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7723 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7724 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7724);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction176___action[] = "parser::ReduceAction176::(parser::ReduceAction::action)";
+void parser___ReduceAction176___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 = 7729;
+ fra.me.meth = LOCATE_parser___ReduceAction176___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7731 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7732 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7733 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7734 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7735 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7736 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7737 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7738 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7739 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7740 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7741 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7743 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7743);
+ }
+ /* parser/parser.nit:7745 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7745);
+ }
+ /* parser/parser.nit:7747 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7747);
+ }
+ /* parser/parser.nit:7749 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7749);
+ }
+ /* parser/parser.nit:7751 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7751);
+ }
+ /* parser/parser.nit:7753 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7753);
+ }
+ /* parser/parser.nit:7755 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7755);
+ }
+ /* parser/parser.nit:7757 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7757);
+ }
+ /* parser/parser.nit:7758 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7770 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7771 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7771);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction177___action[] = "parser::ReduceAction177::(parser::ReduceAction::action)";
+void parser___ReduceAction177___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 = 7776;
+ fra.me.meth = LOCATE_parser___ReduceAction177___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7778 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7779 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7780 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7781 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7782 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7783 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7784 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7785 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7786 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7787 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7788 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7789 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7791 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7791);
+ }
+ /* parser/parser.nit:7793 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7793);
+ }
+ /* parser/parser.nit:7795 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7795);
+ }
+ /* parser/parser.nit:7797 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7797);
+ }
+ /* parser/parser.nit:7799 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7799);
+ }
+ /* parser/parser.nit:7801 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7801);
+ }
+ /* parser/parser.nit:7803 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7803);
+ }
+ /* parser/parser.nit:7805 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7805);
+ }
+ /* parser/parser.nit:7807 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7807);
+ }
+ /* parser/parser.nit:7808 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:7820 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7821 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7821);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction178___action[] = "parser::ReduceAction178::(parser::ReduceAction::action)";
+void parser___ReduceAction178___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 = 7826;
+ fra.me.meth = LOCATE_parser___ReduceAction178___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7828 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7829 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7830 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7831 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7832 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7834 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7834);
+ }
+ /* parser/parser.nit:7836 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7836);
+ }
+ /* parser/parser.nit:7838 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7838);
+ }
+ /* parser/parser.nit:7840 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7840);
+ }
+ /* parser/parser.nit:7841 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:7853 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7854 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7854);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction179___action[] = "parser::ReduceAction179::(parser::ReduceAction::action)";
+void parser___ReduceAction179___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 = 7859;
+ fra.me.meth = LOCATE_parser___ReduceAction179___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:7861 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7862 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7863 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7864 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7865 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7866 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7868 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7868);
+ }
+ /* parser/parser.nit:7870 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7870);
+ }
+ /* parser/parser.nit:7872 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7872);
+ }
+ /* parser/parser.nit:7874 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7874);
+ }
+ /* parser/parser.nit:7876 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7876);
+ }
+ /* parser/parser.nit:7877 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:7889 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7890 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7890);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction180___action[] = "parser::ReduceAction180::(parser::ReduceAction::action)";
+void parser___ReduceAction180___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 = 7895;
+ fra.me.meth = LOCATE_parser___ReduceAction180___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:7897 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7898 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7899 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7900 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7901 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7902 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7904 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7904);
+ }
+ /* parser/parser.nit:7906 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7906);
+ }
+ /* parser/parser.nit:7908 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7908);
+ }
+ /* parser/parser.nit:7910 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7910);
+ }
+ /* parser/parser.nit:7912 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7912);
+ }
+ /* parser/parser.nit:7913 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:7925 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7926 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7926);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction181___action[] = "parser::ReduceAction181::(parser::ReduceAction::action)";
+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 = 7931;
+ fra.me.meth = LOCATE_parser___ReduceAction181___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:7933 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7934 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7935 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7936 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7937 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7938 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7939 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7941 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7941);
+ }
+ /* parser/parser.nit:7943 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7943);
+ }
+ /* parser/parser.nit:7945 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7945);
+ }
+ /* parser/parser.nit:7947 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7947);
+ }
+ /* parser/parser.nit:7949 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7949);
+ }
+ /* parser/parser.nit:7951 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7951);
+ }
+ /* parser/parser.nit:7952 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:7964 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:7965 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7965);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction182___action[] = "parser::ReduceAction182::(parser::ReduceAction::action)";
+void parser___ReduceAction182___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 = 7970;
+ fra.me.meth = LOCATE_parser___ReduceAction182___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:7972 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:7973 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7974 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7975 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7976 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7977 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:7979 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7979);
+ }
+ /* parser/parser.nit:7981 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7981);
+ }
+ /* parser/parser.nit:7983 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7983);
+ }
+ /* parser/parser.nit:7985 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7985);
+ }
+ /* parser/parser.nit:7987 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 7987);
+ }
+ /* parser/parser.nit:7988 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8000 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:8001 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8001);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction183___action[] = "parser::ReduceAction183::(parser::ReduceAction::action)";
+void parser___ReduceAction183___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 = 8006;
+ fra.me.meth = LOCATE_parser___ReduceAction183___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8008 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8009 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8010 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8011 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8012 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8013 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8014 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8016 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8016);
+ }
+ /* parser/parser.nit:8018 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8018);
+ }
+ /* parser/parser.nit:8020 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8020);
+ }
+ /* parser/parser.nit:8022 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8022);
+ }
+ /* parser/parser.nit:8024 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8024);
+ }
+ /* parser/parser.nit:8026 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8026);
+ }
+ /* parser/parser.nit:8027 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8039 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:8040 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8040);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction184___action[] = "parser::ReduceAction184::(parser::ReduceAction::action)";
+void parser___ReduceAction184___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 = 8045;
+ fra.me.meth = LOCATE_parser___ReduceAction184___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8047 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8048 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8049 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8050 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8051 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8052 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8053 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8055 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8055);
+ }
+ /* parser/parser.nit:8057 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8057);
+ }
+ /* parser/parser.nit:8059 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8059);
+ }
+ /* parser/parser.nit:8061 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8061);
+ }
+ /* parser/parser.nit:8063 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8063);
+ }
+ /* parser/parser.nit:8065 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8065);
+ }
+ /* parser/parser.nit:8066 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
+ /* parser/parser.nit:8078 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:8079 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8079);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction185___action[] = "parser::ReduceAction185::(parser::ReduceAction::action)";
+void parser___ReduceAction185___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 = 8084;
+ fra.me.meth = LOCATE_parser___ReduceAction185___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8086 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8087 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8088 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8089 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8090 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8091 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8092 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8093 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8095 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8095);
+ }
+ /* parser/parser.nit:8097 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8097);
+ }
+ /* parser/parser.nit:8099 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8099);
+ }
+ /* parser/parser.nit:8101 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8101);
+ }
+ /* parser/parser.nit:8103 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8103);
+ }
+ /* parser/parser.nit:8105 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8105);
+ }
+ /* parser/parser.nit:8107 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8107);
+ }
+ /* parser/parser.nit:8108 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[3], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
+ /* parser/parser.nit:8120 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:8121 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8121);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction186___action[] = "parser::ReduceAction186::(parser::ReduceAction::action)";
+void parser___ReduceAction186___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 = 8126;
+ fra.me.meth = LOCATE_parser___ReduceAction186___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8128 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8129 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8130 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8131 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8132 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8133 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8134 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8135 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8137 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8137);
+ }
+ /* parser/parser.nit:8139 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8139);
+ }
+ /* parser/parser.nit:8141 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8141);
+ }
+ /* parser/parser.nit:8143 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8143);
+ }
+ /* parser/parser.nit:8145 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8145);
+ }
+ /* parser/parser.nit:8146 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:8158 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8159 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8159);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction187___action[] = "parser::ReduceAction187::(parser::ReduceAction::action)";
+void parser___ReduceAction187___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 = 8164;
+ fra.me.meth = LOCATE_parser___ReduceAction187___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8166 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8167 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8168 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8169 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8170 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8171 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8172 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8173 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8174 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8176 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8176);
+ }
+ /* parser/parser.nit:8178 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8178);
+ }
+ /* parser/parser.nit:8180 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8180);
+ }
+ /* parser/parser.nit:8182 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8182);
+ }
+ /* parser/parser.nit:8184 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8184);
+ }
+ /* parser/parser.nit:8186 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8186);
+ }
+ /* parser/parser.nit:8187 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___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], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:8199 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8200 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8200);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction188___action[] = "parser::ReduceAction188::(parser::ReduceAction::action)";
+void parser___ReduceAction188___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 = 8205;
+ fra.me.meth = LOCATE_parser___ReduceAction188___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8207 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8208 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8209 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8210 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8211 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8212 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8213 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8214 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8215 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8217 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8217);
+ }
+ /* parser/parser.nit:8219 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8219);
+ }
+ /* parser/parser.nit:8221 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8221);
+ }
+ /* parser/parser.nit:8223 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8223);
+ }
+ /* parser/parser.nit:8225 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8225);
+ }
+ /* parser/parser.nit:8227 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8227);
+ }
+ /* parser/parser.nit:8228 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8240 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8241 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8241);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction189___action[] = "parser::ReduceAction189::(parser::ReduceAction::action)";
+void parser___ReduceAction189___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 = 8246;
+ fra.me.meth = LOCATE_parser___ReduceAction189___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8248 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8249 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8250 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8251 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8252 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8253 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8254 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8255 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8256 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8257 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8259 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8259);
+ }
+ /* parser/parser.nit:8261 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8261);
+ }
+ /* parser/parser.nit:8263 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8263);
+ }
+ /* parser/parser.nit:8265 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8265);
+ }
+ /* parser/parser.nit:8267 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8267);
+ }
+ /* parser/parser.nit:8269 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8269);
+ }
+ /* parser/parser.nit:8271 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8271);
+ }
+ /* parser/parser.nit:8272 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, 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]);
+ /* parser/parser.nit:8284 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8285 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8285);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction190___action[] = "parser::ReduceAction190::(parser::ReduceAction::action)";
+void parser___ReduceAction190___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 = 8290;
+ fra.me.meth = LOCATE_parser___ReduceAction190___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8292 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8293 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8294 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8295 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8296 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8297 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8298 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8299 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8300 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8302 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8302);
+ }
+ /* parser/parser.nit:8304 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8304);
+ }
+ /* parser/parser.nit:8306 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8306);
+ }
+ /* parser/parser.nit:8308 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8308);
+ }
+ /* parser/parser.nit:8310 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8310);
+ }
+ /* parser/parser.nit:8312 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8312);
+ }
+ /* parser/parser.nit:8313 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:8325 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8326 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8326);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction191___action[] = "parser::ReduceAction191::(parser::ReduceAction::action)";
+void parser___ReduceAction191___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 = 8331;
+ fra.me.meth = LOCATE_parser___ReduceAction191___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8333 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8334 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8335 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8336 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8337 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8338 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8339 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8340 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8341 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8342 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8344 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8344);
+ }
+ /* parser/parser.nit:8346 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8346);
+ }
+ /* parser/parser.nit:8348 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8348);
+ }
+ /* parser/parser.nit:8350 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8350);
+ }
+ /* parser/parser.nit:8352 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8352);
+ }
+ /* parser/parser.nit:8354 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8354);
+ }
+ /* parser/parser.nit:8356 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8356);
+ }
+ /* parser/parser.nit:8357 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:8369 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8370 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8370);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction192___action[] = "parser::ReduceAction192::(parser::ReduceAction::action)";
+void parser___ReduceAction192___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 = 8375;
+ fra.me.meth = LOCATE_parser___ReduceAction192___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8377 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8378 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8379 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8380 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8381 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8382 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8383 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8384 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8385 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8386 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8388 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8388);
+ }
+ /* parser/parser.nit:8390 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8390);
+ }
+ /* parser/parser.nit:8392 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8392);
+ }
+ /* parser/parser.nit:8394 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8394);
+ }
+ /* parser/parser.nit:8396 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8396);
+ }
+ /* parser/parser.nit:8398 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8398);
+ }
+ /* parser/parser.nit:8400 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8400);
+ }
+ /* parser/parser.nit:8401 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:8413 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8414 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8414);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction193___action[] = "parser::ReduceAction193::(parser::ReduceAction::action)";
+void parser___ReduceAction193___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 = 8419;
+ fra.me.meth = LOCATE_parser___ReduceAction193___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8421 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8422 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8423 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8424 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8425 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8426 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8427 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8428 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8429 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8430 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8431 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8433 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8433);
+ }
+ /* parser/parser.nit:8435 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8435);
+ }
+ /* parser/parser.nit:8437 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8437);
+ }
+ /* parser/parser.nit:8439 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8439);
+ }
+ /* parser/parser.nit:8441 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8441);
+ }
+ /* parser/parser.nit:8443 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8443);
+ }
+ /* parser/parser.nit:8445 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8445);
+ }
+ /* parser/parser.nit:8447 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8447);
+ }
+ /* parser/parser.nit:8448 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[4], 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[3]);
+ /* parser/parser.nit:8460 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8461 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8461);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction194___action[] = "parser::ReduceAction194::(parser::ReduceAction::action)";
+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 = 8466;
+ fra.me.meth = LOCATE_parser___ReduceAction194___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8468 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8469 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8470 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8471 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8472 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8473 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8474 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8476 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8476);
+ }
+ /* parser/parser.nit:8478 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8478);
+ }
+ /* parser/parser.nit:8480 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8480);
+ }
+ /* parser/parser.nit:8482 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8482);
+ }
+ /* parser/parser.nit:8484 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8484);
+ }
+ /* parser/parser.nit:8485 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8494 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8495 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8495);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction195___action[] = "parser::ReduceAction195::(parser::ReduceAction::action)";
+void parser___ReduceAction195___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 = 8500;
+ fra.me.meth = LOCATE_parser___ReduceAction195___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8502 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8503 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8504 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8505 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8506 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8507 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8508 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8509 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8511 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8511);
+ }
+ /* parser/parser.nit:8513 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8513);
+ }
+ /* parser/parser.nit:8515 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8515);
+ }
+ /* parser/parser.nit:8517 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8517);
+ }
+ /* parser/parser.nit:8519 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8519);
+ }
+ /* parser/parser.nit:8521 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8521);
+ }
+ /* parser/parser.nit:8522 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8531 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8532 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8532);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction196___action[] = "parser::ReduceAction196::(parser::ReduceAction::action)";
+void parser___ReduceAction196___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 = 8537;
+ fra.me.meth = LOCATE_parser___ReduceAction196___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8539 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8540 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8541 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8542 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8543 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8544 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8545 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8546 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8548 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8548);
+ }
+ /* parser/parser.nit:8550 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8550);
+ }
+ /* parser/parser.nit:8552 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8552);
+ }
+ /* parser/parser.nit:8554 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8554);
+ }
+ /* parser/parser.nit:8556 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8556);
+ }
+ /* parser/parser.nit:8558 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8558);
+ }
+ /* parser/parser.nit:8559 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
+ /* parser/parser.nit:8568 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8569 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8569);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction197___action[] = "parser::ReduceAction197::(parser::ReduceAction::action)";
+void parser___ReduceAction197___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 = 8574;
+ fra.me.meth = LOCATE_parser___ReduceAction197___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8576 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8577 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8578 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8579 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8580 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8581 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8582 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8583 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8584 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8586 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8586);
+ }
+ /* parser/parser.nit:8588 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8588);
+ }
+ /* parser/parser.nit:8590 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8590);
+ }
+ /* parser/parser.nit:8592 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8592);
+ }
+ /* parser/parser.nit:8594 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8594);
+ }
+ /* parser/parser.nit:8596 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8596);
+ }
+ /* parser/parser.nit:8598 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8598);
+ }
+ /* parser/parser.nit:8599 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
+ /* parser/parser.nit:8608 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8609 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8609);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction198___action[] = "parser::ReduceAction198::(parser::ReduceAction::action)";
+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 = 8614;
+ fra.me.meth = LOCATE_parser___ReduceAction198___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8616 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8617 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8618 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8619 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8620 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8621 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8622 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8623 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8625 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8625);
+ }
+ /* parser/parser.nit:8627 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8627);
+ }
+ /* parser/parser.nit:8629 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8629);
+ }
+ /* parser/parser.nit:8631 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8631);
+ }
+ /* parser/parser.nit:8633 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8633);
+ }
+ /* parser/parser.nit:8634 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8643 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8644 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8644);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction199___action[] = "parser::ReduceAction199::(parser::ReduceAction::action)";
+void parser___ReduceAction199___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 = 8649;
+ fra.me.meth = LOCATE_parser___ReduceAction199___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8651 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8652 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8653 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8654 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8655 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8656 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8657 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8658 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8659 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8661 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8661);
+ }
+ /* parser/parser.nit:8663 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8663);
+ }
+ /* parser/parser.nit:8665 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8665);
+ }
+ /* parser/parser.nit:8667 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8667);
+ }
+ /* parser/parser.nit:8669 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8669);
+ }
+ /* parser/parser.nit:8671 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8671);
+ }
+ /* parser/parser.nit:8672 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8681 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8682 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8682);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction200___action[] = "parser::ReduceAction200::(parser::ReduceAction::action)";
+void parser___ReduceAction200___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 = 8687;
+ fra.me.meth = LOCATE_parser___ReduceAction200___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8689 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8690 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8691 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8692 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8693 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8694 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8695 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8696 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8697 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8699 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8699);
+ }
+ /* parser/parser.nit:8701 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8701);
+ }
+ /* parser/parser.nit:8703 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8703);
+ }
+ /* parser/parser.nit:8705 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8705);
+ }
+ /* parser/parser.nit:8707 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8707);
+ }
+ /* parser/parser.nit:8709 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8709);
+ }
+ /* parser/parser.nit:8710 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
+ /* parser/parser.nit:8719 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8720 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8720);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction201___action[] = "parser::ReduceAction201::(parser::ReduceAction::action)";
+void parser___ReduceAction201___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 = 8725;
+ fra.me.meth = LOCATE_parser___ReduceAction201___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8727 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8728 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8729 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8730 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8731 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8732 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8733 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8734 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8735 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8736 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8738 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8738);
+ }
+ /* parser/parser.nit:8740 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8740);
+ }
+ /* parser/parser.nit:8742 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8742);
+ }
+ /* parser/parser.nit:8744 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8744);
+ }
+ /* parser/parser.nit:8746 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8746);
+ }
+ /* parser/parser.nit:8748 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8748);
+ }
+ /* parser/parser.nit:8750 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8750);
+ }
+ /* parser/parser.nit:8751 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
+ /* parser/parser.nit:8760 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8761 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8761);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction202___action[] = "parser::ReduceAction202::(parser::ReduceAction::action)";
+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 = 8766;
+ fra.me.meth = LOCATE_parser___ReduceAction202___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8768 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8769 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8770 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8771 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8772 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8773 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8775 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8775);
+ }
+ /* parser/parser.nit:8777 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8777);
+ }
+ /* parser/parser.nit:8779 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8779);
+ }
+ /* parser/parser.nit:8781 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8781);
+ }
+ /* parser/parser.nit:8783 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8783);
+ }
+ /* parser/parser.nit:8784 */
+ fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8792 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8793 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8793);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction203___action[] = "parser::ReduceAction203::(parser::ReduceAction::action)";
+void parser___ReduceAction203___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 = 8798;
+ fra.me.meth = LOCATE_parser___ReduceAction203___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8800 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8801 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8802 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8803 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8804 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8805 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8806 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8808 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8808);
+ }
+ /* parser/parser.nit:8810 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8810);
+ }
+ /* parser/parser.nit:8812 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8812);
+ }
+ /* parser/parser.nit:8814 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8814);
+ }
+ /* parser/parser.nit:8816 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8816);
+ }
+ /* parser/parser.nit:8818 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8818);
+ }
+ /* parser/parser.nit:8819 */
+ fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:8827 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8828 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8828);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction204___action[] = "parser::ReduceAction204::(parser::ReduceAction::action)";
+void parser___ReduceAction204___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 = 8833;
+ fra.me.meth = LOCATE_parser___ReduceAction204___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8835 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8836 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8837 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8838 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8839 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8840 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8841 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8843 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8843);
+ }
+ /* parser/parser.nit:8845 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8845);
+ }
+ /* parser/parser.nit:8847 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8847);
+ }
+ /* parser/parser.nit:8849 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8849);
+ }
+ /* parser/parser.nit:8850 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8861 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8862 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8862);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction205___action[] = "parser::ReduceAction205::(parser::ReduceAction::action)";
+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 = 8867;
+ fra.me.meth = LOCATE_parser___ReduceAction205___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8869 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8870 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8871 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8872 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8873 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8874 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8875 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8876 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8878 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8878);
+ }
+ /* parser/parser.nit:8880 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8880);
+ }
+ /* parser/parser.nit:8882 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8882);
+ }
+ /* parser/parser.nit:8884 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8884);
+ }
+ /* parser/parser.nit:8886 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8886);
+ }
+ /* parser/parser.nit:8887 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8898 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8899 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8899);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction206___action[] = "parser::ReduceAction206::(parser::ReduceAction::action)";
+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 = 8904;
+ fra.me.meth = LOCATE_parser___ReduceAction206___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8906 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8907 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8908 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8909 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8910 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8911 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8912 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8913 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8915 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8915);
+ }
+ /* parser/parser.nit:8917 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8917);
+ }
+ /* parser/parser.nit:8919 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8919);
+ }
+ /* parser/parser.nit:8921 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8921);
+ }
+ /* parser/parser.nit:8923 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8923);
+ }
+ /* parser/parser.nit:8924 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8935 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8936 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8936);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction207___action[] = "parser::ReduceAction207::(parser::ReduceAction::action)";
+void parser___ReduceAction207___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 = 8941;
+ fra.me.meth = LOCATE_parser___ReduceAction207___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:8943 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8944 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8945 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8946 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8947 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8948 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8949 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8950 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8951 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8953 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8953);
+ }
+ /* parser/parser.nit:8955 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8955);
+ }
+ /* parser/parser.nit:8957 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8957);
+ }
+ /* parser/parser.nit:8959 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8959);
+ }
+ /* parser/parser.nit:8961 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8961);
+ }
+ /* parser/parser.nit:8963 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8963);
+ }
+ /* parser/parser.nit:8964 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:8975 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:8976 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8976);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction208___action[] = "parser::ReduceAction208::(parser::ReduceAction::action)";
+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 = 8981;
+ fra.me.meth = LOCATE_parser___ReduceAction208___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:8983 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:8984 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8985 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8986 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8987 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8988 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8989 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8990 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:8992 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8992);
+ }
+ /* parser/parser.nit:8994 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8994);
+ }
+ /* parser/parser.nit:8996 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8996);
+ }
+ /* parser/parser.nit:8998 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 8998);
+ }
+ /* parser/parser.nit:9000 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9000);
+ }
+ /* parser/parser.nit:9001 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:9012 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9013 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9013);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction209___action[] = "parser::ReduceAction209::(parser::ReduceAction::action)";
+void parser___ReduceAction209___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___ReduceAction209___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9020 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9021 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9022 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9023 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9024 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9025 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9026 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9027 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9028 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9030 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9030);
+ }
+ /* parser/parser.nit:9032 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9032);
+ }
+ /* parser/parser.nit:9034 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9034);
+ }
+ /* parser/parser.nit:9036 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9036);
+ }
+ /* parser/parser.nit:9038 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9038);
+ }
+ /* parser/parser.nit:9040 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9040);
+ }
+ /* parser/parser.nit:9041 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:9052 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9053 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9053);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction210___action[] = "parser::ReduceAction210::(parser::ReduceAction::action)";
+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 = 9058;
+ fra.me.meth = LOCATE_parser___ReduceAction210___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9060 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9061 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9062 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9063 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9064 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9065 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9066 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9067 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9068 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9070 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9070);
+ }
+ /* parser/parser.nit:9072 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9072);
+ }
+ /* parser/parser.nit:9074 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9074);
+ }
+ /* parser/parser.nit:9076 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9076);
+ }
+ /* parser/parser.nit:9078 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9078);
+ }
+ /* parser/parser.nit:9080 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9080);
+ }
+ /* parser/parser.nit:9081 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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, NIT_NULL);
+ /* parser/parser.nit:9092 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9093 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9093);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction211___action[] = "parser::ReduceAction211::(parser::ReduceAction::action)";
+void parser___ReduceAction211___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 = 9098;
+ fra.me.meth = LOCATE_parser___ReduceAction211___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9100 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9101 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9102 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9103 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9104 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9105 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9106 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9107 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9108 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9109 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9111 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9111);
+ }
+ /* parser/parser.nit:9113 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9113);
+ }
+ /* parser/parser.nit:9115 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9115);
+ }
+ /* parser/parser.nit:9117 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9117);
+ }
+ /* parser/parser.nit:9119 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9119);
+ }
+ /* parser/parser.nit:9121 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9121);
+ }
+ /* parser/parser.nit:9123 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9123);
+ }
+ /* parser/parser.nit:9124 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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, NIT_NULL);
+ /* parser/parser.nit:9135 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9136 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9136);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction212___action[] = "parser::ReduceAction212::(parser::ReduceAction::action)";
+void parser___ReduceAction212___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 = 9141;
+ fra.me.meth = LOCATE_parser___ReduceAction212___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:9143 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9144 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9145 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9146 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9147 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9148 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9149 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9150 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9152 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9152);
+ }
+ /* parser/parser.nit:9154 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9154);
+ }
+ /* parser/parser.nit:9156 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9156);
+ }
+ /* parser/parser.nit:9158 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9158);
+ }
+ /* parser/parser.nit:9160 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9160);
+ }
+ /* parser/parser.nit:9161 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:9172 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9173 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9173);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction213___action[] = "parser::ReduceAction213::(parser::ReduceAction::action)";
+void parser___ReduceAction213___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 = 9178;
+ fra.me.meth = LOCATE_parser___ReduceAction213___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9180 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9181 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9182 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9183 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9184 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9185 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9186 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9187 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9188 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9190 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9190);
+ }
+ /* parser/parser.nit:9192 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9192);
+ }
+ /* parser/parser.nit:9194 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9194);
+ }
+ /* parser/parser.nit:9196 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9196);
+ }
+ /* parser/parser.nit:9198 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9198);
+ }
+ /* parser/parser.nit:9200 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9200);
+ }
+ /* parser/parser.nit:9201 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:9212 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9213 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9213);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction214___action[] = "parser::ReduceAction214::(parser::ReduceAction::action)";
+void parser___ReduceAction214___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 = 9218;
+ fra.me.meth = LOCATE_parser___ReduceAction214___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9220 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9221 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9222 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9223 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9224 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9225 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9226 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9227 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9228 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9230 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9230);
+ }
+ /* parser/parser.nit:9232 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9232);
+ }
+ /* parser/parser.nit:9234 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9234);
+ }
+ /* parser/parser.nit:9236 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9236);
+ }
+ /* parser/parser.nit:9238 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9238);
+ }
+ /* parser/parser.nit:9240 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9240);
+ }
+ /* parser/parser.nit:9241 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:9252 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9253 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9253);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction215___action[] = "parser::ReduceAction215::(parser::ReduceAction::action)";
+void parser___ReduceAction215___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 = 9258;
+ fra.me.meth = LOCATE_parser___ReduceAction215___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9260 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9261 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9262 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9263 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9264 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9265 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9266 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9267 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9268 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9269 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9271 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9271);
+ }
+ /* parser/parser.nit:9273 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9273);
+ }
+ /* parser/parser.nit:9275 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9275);
+ }
+ /* parser/parser.nit:9277 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9277);
+ }
+ /* parser/parser.nit:9279 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9279);
+ }
+ /* parser/parser.nit:9281 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9281);
+ }
+ /* parser/parser.nit:9283 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9283);
+ }
+ /* parser/parser.nit:9284 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:9295 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9296 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9296);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction216___action[] = "parser::ReduceAction216::(parser::ReduceAction::action)";
+void parser___ReduceAction216___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 = 9301;
+ fra.me.meth = LOCATE_parser___ReduceAction216___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9303 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9304 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9305 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9306 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9307 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9308 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9309 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9310 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9311 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9313 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9313);
+ }
+ /* parser/parser.nit:9315 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9315);
+ }
+ /* parser/parser.nit:9317 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9317);
+ }
+ /* parser/parser.nit:9319 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9319);
+ }
+ /* parser/parser.nit:9321 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9321);
+ }
+ /* parser/parser.nit:9323 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9323);
+ }
+ /* parser/parser.nit:9324 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:9335 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9336 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9336);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction217___action[] = "parser::ReduceAction217::(parser::ReduceAction::action)";
+void parser___ReduceAction217___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 = 9341;
+ fra.me.meth = LOCATE_parser___ReduceAction217___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9343 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9344 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9345 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9346 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9347 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9348 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9349 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9350 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9351 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9352 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9354 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9354);
+ }
+ /* parser/parser.nit:9356 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9356);
+ }
+ /* parser/parser.nit:9358 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9358);
+ }
+ /* parser/parser.nit:9360 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9360);
+ }
+ /* parser/parser.nit:9362 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9362);
+ }
+ /* parser/parser.nit:9364 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9364);
+ }
+ /* parser/parser.nit:9366 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9366);
+ }
+ /* parser/parser.nit:9367 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], 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);
+ /* parser/parser.nit:9378 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9379 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9379);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction218___action[] = "parser::ReduceAction218::(parser::ReduceAction::action)";
+void parser___ReduceAction218___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 = 9384;
+ fra.me.meth = LOCATE_parser___ReduceAction218___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9386 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9387 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9388 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9389 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9390 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9391 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9392 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9393 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9394 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9395 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9397 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9397);
+ }
+ /* parser/parser.nit:9399 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9399);
+ }
+ /* parser/parser.nit:9401 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9401);
+ }
+ /* parser/parser.nit:9403 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9403);
+ }
+ /* parser/parser.nit:9405 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9405);
+ }
+ /* parser/parser.nit:9407 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9407);
+ }
+ /* parser/parser.nit:9409 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9409);
+ }
+ /* parser/parser.nit:9410 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL);
+ /* parser/parser.nit:9421 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9422 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9422);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction219___action[] = "parser::ReduceAction219::(parser::ReduceAction::action)";
+void parser___ReduceAction219___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 = 9427;
+ fra.me.meth = LOCATE_parser___ReduceAction219___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9429 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9430 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9431 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9432 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9433 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9434 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9435 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9436 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9437 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9438 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9439 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9441 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9441);
+ }
+ /* parser/parser.nit:9443 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9443);
+ }
+ /* parser/parser.nit:9445 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9445);
+ }
+ /* parser/parser.nit:9447 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9447);
+ }
+ /* parser/parser.nit:9449 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9449);
+ }
+ /* parser/parser.nit:9451 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9451);
+ }
+ /* parser/parser.nit:9453 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9453);
+ }
+ /* parser/parser.nit:9455 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9455);
+ }
+ /* parser/parser.nit:9456 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL);
+ /* parser/parser.nit:9467 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9468 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9468);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction220___action[] = "parser::ReduceAction220::(parser::ReduceAction::action)";
+void parser___ReduceAction220___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 = 9473;
+ fra.me.meth = LOCATE_parser___ReduceAction220___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:9475 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9476 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9477 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9478 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9479 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9480 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9481 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9482 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9484 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9484);
+ }
+ /* parser/parser.nit:9486 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9486);
+ }
+ /* parser/parser.nit:9488 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9488);
+ }
+ /* parser/parser.nit:9490 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9490);
+ }
+ /* parser/parser.nit:9492 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9492);
+ }
+ /* parser/parser.nit:9493 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9504 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9505 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9505);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction221___action[] = "parser::ReduceAction221::(parser::ReduceAction::action)";
+void parser___ReduceAction221___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 = 9510;
+ fra.me.meth = LOCATE_parser___ReduceAction221___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9512 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9513 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9514 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9515 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9516 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9517 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9518 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9519 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9520 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9522 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9522);
+ }
+ /* parser/parser.nit:9524 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9524);
+ }
+ /* parser/parser.nit:9526 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9526);
+ }
+ /* parser/parser.nit:9528 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9528);
+ }
+ /* parser/parser.nit:9530 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9530);
+ }
+ /* parser/parser.nit:9532 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9532);
+ }
+ /* parser/parser.nit:9533 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9544 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9545 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9545);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction222___action[] = "parser::ReduceAction222::(parser::ReduceAction::action)";
+void parser___ReduceAction222___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 = 9550;
+ fra.me.meth = LOCATE_parser___ReduceAction222___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9552 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9553 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9554 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9555 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9556 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9557 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9558 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9559 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9560 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9562 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9562);
+ }
+ /* parser/parser.nit:9564 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9564);
+ }
+ /* parser/parser.nit:9566 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9566);
+ }
+ /* parser/parser.nit:9568 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9568);
+ }
+ /* parser/parser.nit:9570 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9570);
+ }
+ /* parser/parser.nit:9572 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9572);
+ }
+ /* parser/parser.nit:9573 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9584 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9585 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9585);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction223___action[] = "parser::ReduceAction223::(parser::ReduceAction::action)";
+void parser___ReduceAction223___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 = 9590;
+ fra.me.meth = LOCATE_parser___ReduceAction223___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9592 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9593 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9594 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9595 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9596 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9597 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9598 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9599 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9600 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9601 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9603 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9603);
+ }
+ /* parser/parser.nit:9605 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9605);
+ }
+ /* parser/parser.nit:9607 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9607);
+ }
+ /* parser/parser.nit:9609 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9609);
+ }
+ /* parser/parser.nit:9611 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9611);
+ }
+ /* parser/parser.nit:9613 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9613);
+ }
+ /* parser/parser.nit:9615 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9615);
+ }
+ /* parser/parser.nit:9616 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9627 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9628 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9628);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction224___action[] = "parser::ReduceAction224::(parser::ReduceAction::action)";
+void parser___ReduceAction224___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 = 9633;
+ fra.me.meth = LOCATE_parser___ReduceAction224___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9635 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9636 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9637 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9638 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9639 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9640 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9641 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9642 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9643 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9645 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9645);
+ }
+ /* parser/parser.nit:9647 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9647);
+ }
+ /* parser/parser.nit:9649 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9649);
+ }
+ /* parser/parser.nit:9651 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9651);
+ }
+ /* parser/parser.nit:9653 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9653);
+ }
+ /* parser/parser.nit:9655 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9655);
+ }
+ /* parser/parser.nit:9656 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9667 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9668 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9668);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction225___action[] = "parser::ReduceAction225::(parser::ReduceAction::action)";
+void parser___ReduceAction225___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 = 9673;
+ fra.me.meth = LOCATE_parser___ReduceAction225___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9675 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9676 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9677 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9678 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9679 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9680 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9681 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9682 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9683 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9684 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9686 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9686);
+ }
+ /* parser/parser.nit:9688 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9688);
+ }
+ /* parser/parser.nit:9690 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9690);
+ }
+ /* parser/parser.nit:9692 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9692);
+ }
+ /* parser/parser.nit:9694 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9694);
+ }
+ /* parser/parser.nit:9696 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9696);
+ }
+ /* parser/parser.nit:9698 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9698);
+ }
+ /* parser/parser.nit:9699 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9710 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9711 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9711);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction226___action[] = "parser::ReduceAction226::(parser::ReduceAction::action)";
+void parser___ReduceAction226___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 = 9716;
+ fra.me.meth = LOCATE_parser___ReduceAction226___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9718 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9719 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9720 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9721 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9722 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9723 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9724 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9725 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9726 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9727 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9729 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9729);
+ }
+ /* parser/parser.nit:9731 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9731);
+ }
+ /* parser/parser.nit:9733 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9733);
+ }
+ /* parser/parser.nit:9735 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9735);
+ }
+ /* parser/parser.nit:9737 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9737);
+ }
+ /* parser/parser.nit:9739 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9739);
+ }
+ /* parser/parser.nit:9741 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9741);
+ }
+ /* parser/parser.nit:9742 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9753 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9754 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9754);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction227___action[] = "parser::ReduceAction227::(parser::ReduceAction::action)";
+void parser___ReduceAction227___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 = 9759;
+ fra.me.meth = LOCATE_parser___ReduceAction227___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9761 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9762 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9763 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9764 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9765 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9766 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9767 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9768 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9769 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9770 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9771 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9773 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9773);
+ }
+ /* parser/parser.nit:9775 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9775);
+ }
+ /* parser/parser.nit:9777 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9777);
+ }
+ /* parser/parser.nit:9779 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9779);
+ }
+ /* parser/parser.nit:9781 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9781);
+ }
+ /* parser/parser.nit:9783 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9783);
+ }
+ /* parser/parser.nit:9785 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9785);
+ }
+ /* parser/parser.nit:9787 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9787);
+ }
+ /* parser/parser.nit:9788 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:9799 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9800 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9800);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction228___action[] = "parser::ReduceAction228::(parser::ReduceAction::action)";
+void parser___ReduceAction228___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 = 9805;
+ fra.me.meth = LOCATE_parser___ReduceAction228___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9807 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9808 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9809 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9810 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9811 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9812 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9813 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9814 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9815 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9817 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9817);
+ }
+ /* parser/parser.nit:9819 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9819);
+ }
+ /* parser/parser.nit:9821 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9821);
+ }
+ /* parser/parser.nit:9823 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9823);
+ }
+ /* parser/parser.nit:9825 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9825);
+ }
+ /* parser/parser.nit:9827 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9827);
+ }
+ /* parser/parser.nit:9828 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:9839 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9840 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9840);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction229___action[] = "parser::ReduceAction229::(parser::ReduceAction::action)";
+void parser___ReduceAction229___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 = 9845;
+ fra.me.meth = LOCATE_parser___ReduceAction229___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9847 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9848 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9849 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9850 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9851 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9852 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9853 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9854 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9855 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9856 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9858 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9858);
+ }
+ /* parser/parser.nit:9860 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9860);
+ }
+ /* parser/parser.nit:9862 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9862);
+ }
+ /* parser/parser.nit:9864 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9864);
+ }
+ /* parser/parser.nit:9866 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9866);
+ }
+ /* parser/parser.nit:9868 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9868);
+ }
+ /* parser/parser.nit:9870 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9870);
+ }
+ /* parser/parser.nit:9871 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:9882 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9883 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9883);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction230___action[] = "parser::ReduceAction230::(parser::ReduceAction::action)";
+void parser___ReduceAction230___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 = 9888;
+ fra.me.meth = LOCATE_parser___ReduceAction230___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9890 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9891 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9892 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9893 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9894 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9895 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9896 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9897 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9898 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9899 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9901 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9901);
+ }
+ /* parser/parser.nit:9903 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9903);
+ }
+ /* parser/parser.nit:9905 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9905);
+ }
+ /* parser/parser.nit:9907 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9907);
+ }
+ /* parser/parser.nit:9909 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9909);
+ }
+ /* parser/parser.nit:9911 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9911);
+ }
+ /* parser/parser.nit:9913 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9913);
+ }
+ /* parser/parser.nit:9914 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:9925 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9926 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9926);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction231___action[] = "parser::ReduceAction231::(parser::ReduceAction::action)";
+void parser___ReduceAction231___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 = 9931;
+ fra.me.meth = LOCATE_parser___ReduceAction231___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9933 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9934 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9935 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9936 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9937 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9938 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9939 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9940 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9941 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9942 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9943 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9945 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9945);
+ }
+ /* parser/parser.nit:9947 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9947);
+ }
+ /* parser/parser.nit:9949 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9949);
+ }
+ /* parser/parser.nit:9951 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9951);
+ }
+ /* parser/parser.nit:9953 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9953);
+ }
+ /* parser/parser.nit:9955 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9955);
+ }
+ /* parser/parser.nit:9957 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9957);
+ }
+ /* parser/parser.nit:9959 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9959);
+ }
+ /* parser/parser.nit:9960 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:9971 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:9972 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9972);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction232___action[] = "parser::ReduceAction232::(parser::ReduceAction::action)";
+void parser___ReduceAction232___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 = 9977;
+ fra.me.meth = LOCATE_parser___ReduceAction232___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:9979 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:9980 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9981 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9982 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9983 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9984 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9985 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9986 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9987 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9988 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:9990 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9990);
+ }
+ /* parser/parser.nit:9992 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9992);
+ }
+ /* parser/parser.nit:9994 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9994);
+ }
+ /* parser/parser.nit:9996 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9996);
+ }
+ /* parser/parser.nit:9998 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 9998);
+ }
+ /* parser/parser.nit:10000 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10000);
+ }
+ /* parser/parser.nit:10002 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10002);
+ }
+ /* parser/parser.nit:10003 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, 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]);
+ /* parser/parser.nit:10014 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10015 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10015);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction233___action[] = "parser::ReduceAction233::(parser::ReduceAction::action)";
+void parser___ReduceAction233___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 = 10020;
+ fra.me.meth = LOCATE_parser___ReduceAction233___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10022 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10023 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10024 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10025 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10026 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10027 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10028 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10029 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10030 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10031 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10032 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10034 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10034);
+ }
+ /* parser/parser.nit:10036 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10036);
+ }
+ /* parser/parser.nit:10038 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10038);
+ }
+ /* parser/parser.nit:10040 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10040);
+ }
+ /* parser/parser.nit:10042 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10042);
+ }
+ /* parser/parser.nit:10044 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10044);
+ }
+ /* parser/parser.nit:10046 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10046);
+ }
+ /* parser/parser.nit:10048 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10048);
+ }
+ /* parser/parser.nit:10049 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], 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]);
+ /* parser/parser.nit:10060 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10061 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10061);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction234___action[] = "parser::ReduceAction234::(parser::ReduceAction::action)";
+void parser___ReduceAction234___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 = 10066;
+ fra.me.meth = LOCATE_parser___ReduceAction234___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10068 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10069 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10070 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10071 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10072 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10073 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10074 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10075 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10076 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10077 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10078 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10080 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10080);
+ }
+ /* parser/parser.nit:10082 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10082);
+ }
+ /* parser/parser.nit:10084 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10084);
+ }
+ /* parser/parser.nit:10086 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10086);
+ }
+ /* parser/parser.nit:10088 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10088);
+ }
+ /* parser/parser.nit:10090 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10090);
+ }
+ /* parser/parser.nit:10092 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10092);
+ }
+ /* parser/parser.nit:10094 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10094);
+ }
+ /* parser/parser.nit:10095 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], NIT_NULL, 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]);
+ /* parser/parser.nit:10106 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10107 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10107);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction235___action[] = "parser::ReduceAction235::(parser::ReduceAction::action)";
+void parser___ReduceAction235___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 = 10112;
+ fra.me.meth = LOCATE_parser___ReduceAction235___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10114 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10115 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10116 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10117 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10118 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10119 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10120 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10121 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10122 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10123 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10124 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10125 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10127 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10127);
+ }
+ /* parser/parser.nit:10129 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10129);
+ }
+ /* parser/parser.nit:10131 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10131);
+ }
+ /* parser/parser.nit:10133 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10133);
+ }
+ /* parser/parser.nit:10135 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10135);
+ }
+ /* parser/parser.nit:10137 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10137);
+ }
+ /* parser/parser.nit:10139 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10139);
+ }
+ /* parser/parser.nit:10141 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10141);
+ }
+ /* parser/parser.nit:10143 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10143);
+ }
+ /* parser/parser.nit:10144 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[11], 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]);
+ /* parser/parser.nit:10155 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10156 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10156);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction236___action[] = "parser::ReduceAction236::(parser::ReduceAction::action)";
+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 = 10161;
+ fra.me.meth = LOCATE_parser___ReduceAction236___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:10163 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10164 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10165 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10166 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10167 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10168 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10170 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10170);
+ }
+ /* parser/parser.nit:10172 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10172);
+ }
+ /* parser/parser.nit:10174 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10174);
+ }
+ /* parser/parser.nit:10176 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10176);
+ }
+ /* parser/parser.nit:10178 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10178);
+ }
+ /* parser/parser.nit:10179 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10190 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10191 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10191);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction237___action[] = "parser::ReduceAction237::(parser::ReduceAction::action)";
+void parser___ReduceAction237___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 = 10196;
+ fra.me.meth = LOCATE_parser___ReduceAction237___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10198 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10199 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10200 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10201 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10202 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10203 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10204 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10206 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10206);
+ }
+ /* parser/parser.nit:10208 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10208);
+ }
+ /* parser/parser.nit:10210 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10210);
+ }
+ /* parser/parser.nit:10212 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10212);
+ }
+ /* parser/parser.nit:10214 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10214);
+ }
+ /* parser/parser.nit:10216 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10216);
+ }
+ /* parser/parser.nit:10217 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10228 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10229 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10229);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction238___action[] = "parser::ReduceAction238::(parser::ReduceAction::action)";
+void parser___ReduceAction238___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 = 10234;
+ fra.me.meth = LOCATE_parser___ReduceAction238___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10236 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10237 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10238 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10239 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10240 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10241 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10242 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10244 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10244);
+ }
+ /* parser/parser.nit:10246 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10246);
+ }
+ /* parser/parser.nit:10248 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10248);
+ }
+ /* parser/parser.nit:10250 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10250);
+ }
+ /* parser/parser.nit:10252 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10252);
+ }
+ /* parser/parser.nit:10254 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10254);
+ }
+ /* parser/parser.nit:10255 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10266 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10267 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10267);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction239___action[] = "parser::ReduceAction239::(parser::ReduceAction::action)";
+void parser___ReduceAction239___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 = 10272;
+ fra.me.meth = LOCATE_parser___ReduceAction239___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10274 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10275 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10276 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10277 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10278 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10279 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10280 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10281 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10283 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10283);
+ }
+ /* parser/parser.nit:10285 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10285);
+ }
+ /* parser/parser.nit:10287 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10287);
+ }
+ /* parser/parser.nit:10289 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10289);
+ }
+ /* parser/parser.nit:10291 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10291);
+ }
+ /* parser/parser.nit:10293 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10293);
+ }
+ /* parser/parser.nit:10295 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10295);
+ }
+ /* parser/parser.nit:10296 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10307 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10308 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10308);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction240___action[] = "parser::ReduceAction240::(parser::ReduceAction::action)";
+void parser___ReduceAction240___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 = 10313;
+ fra.me.meth = LOCATE_parser___ReduceAction240___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10315 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10316 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10317 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10318 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10319 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10320 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10321 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10323 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10323);
+ }
+ /* parser/parser.nit:10325 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10325);
+ }
+ /* parser/parser.nit:10327 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10327);
+ }
+ /* parser/parser.nit:10329 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10329);
+ }
+ /* parser/parser.nit:10331 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10331);
+ }
+ /* parser/parser.nit:10333 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10333);
+ }
+ /* parser/parser.nit:10334 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10345 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10346 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10346);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction241___action[] = "parser::ReduceAction241::(parser::ReduceAction::action)";
+void parser___ReduceAction241___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 = 10351;
+ fra.me.meth = LOCATE_parser___ReduceAction241___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10353 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10354 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10355 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10356 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10357 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10358 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10359 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10360 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10362 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10362);
+ }
+ /* parser/parser.nit:10364 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10364);
+ }
+ /* parser/parser.nit:10366 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10366);
+ }
+ /* parser/parser.nit:10368 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10368);
+ }
+ /* parser/parser.nit:10370 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10370);
+ }
+ /* parser/parser.nit:10372 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10372);
+ }
+ /* parser/parser.nit:10374 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10374);
+ }
+ /* parser/parser.nit:10375 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10386 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10387 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10387);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction242___action[] = "parser::ReduceAction242::(parser::ReduceAction::action)";
+void parser___ReduceAction242___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 = 10392;
+ fra.me.meth = LOCATE_parser___ReduceAction242___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10394 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10395 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10396 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10397 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10398 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10399 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10400 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10401 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10403 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10403);
+ }
+ /* parser/parser.nit:10405 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10405);
+ }
+ /* parser/parser.nit:10407 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10407);
+ }
+ /* parser/parser.nit:10409 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10409);
+ }
+ /* parser/parser.nit:10411 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10411);
+ }
+ /* parser/parser.nit:10413 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10413);
+ }
+ /* parser/parser.nit:10415 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10415);
+ }
+ /* parser/parser.nit:10416 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10427 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10428 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10428);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction243___action[] = "parser::ReduceAction243::(parser::ReduceAction::action)";
+void parser___ReduceAction243___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 = 10433;
+ fra.me.meth = LOCATE_parser___ReduceAction243___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10435 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10436 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10437 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10438 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10439 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10440 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10441 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10442 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10443 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10445 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10445);
+ }
+ /* parser/parser.nit:10447 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10447);
+ }
+ /* parser/parser.nit:10449 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10449);
+ }
+ /* parser/parser.nit:10451 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10451);
+ }
+ /* parser/parser.nit:10453 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10453);
+ }
+ /* parser/parser.nit:10455 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10455);
+ }
+ /* parser/parser.nit:10457 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10457);
+ }
+ /* parser/parser.nit:10459 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10459);
+ }
+ /* parser/parser.nit:10460 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10471 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10472 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10472);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction244___action[] = "parser::ReduceAction244::(parser::ReduceAction::action)";
+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 = 10477;
+ fra.me.meth = LOCATE_parser___ReduceAction244___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10479 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10480 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10481 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10482 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10483 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10484 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10485 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10487 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10487);
+ }
+ /* parser/parser.nit:10489 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10489);
+ }
+ /* parser/parser.nit:10491 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10491);
+ }
+ /* parser/parser.nit:10493 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10493);
+ }
+ /* parser/parser.nit:10495 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10495);
+ }
+ /* parser/parser.nit:10497 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10497);
+ }
+ /* parser/parser.nit:10498 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10509 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10510 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10510);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction245___action[] = "parser::ReduceAction245::(parser::ReduceAction::action)";
+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 = 10515;
+ fra.me.meth = LOCATE_parser___ReduceAction245___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10517 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10518 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10519 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10520 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10521 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10522 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10523 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10524 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10526 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10526);
+ }
+ /* parser/parser.nit:10528 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10528);
+ }
+ /* parser/parser.nit:10530 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10530);
+ }
+ /* parser/parser.nit:10532 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10532);
+ }
+ /* parser/parser.nit:10534 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10534);
+ }
+ /* parser/parser.nit:10536 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10536);
+ }
+ /* parser/parser.nit:10538 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10538);
+ }
+ /* parser/parser.nit:10539 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10550 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10551 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10551);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction246___action[] = "parser::ReduceAction246::(parser::ReduceAction::action)";
+void parser___ReduceAction246___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 = 10556;
+ fra.me.meth = LOCATE_parser___ReduceAction246___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10558 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10559 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10560 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10561 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10562 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10563 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10564 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10565 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10567 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10567);
+ }
+ /* parser/parser.nit:10569 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10569);
+ }
+ /* parser/parser.nit:10571 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10571);
+ }
+ /* parser/parser.nit:10573 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10573);
+ }
+ /* parser/parser.nit:10575 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10575);
+ }
+ /* parser/parser.nit:10577 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10577);
+ }
+ /* parser/parser.nit:10579 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10579);
+ }
+ /* parser/parser.nit:10580 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10591 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10592 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10592);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction247___action[] = "parser::ReduceAction247::(parser::ReduceAction::action)";
+void parser___ReduceAction247___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 = 10597;
+ fra.me.meth = LOCATE_parser___ReduceAction247___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10599 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10600 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10601 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10602 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10603 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10604 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10605 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10606 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10607 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10609 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10609);
+ }
+ /* parser/parser.nit:10611 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10611);
+ }
+ /* parser/parser.nit:10613 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10613);
+ }
+ /* parser/parser.nit:10615 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10615);
+ }
+ /* parser/parser.nit:10617 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10617);
+ }
+ /* parser/parser.nit:10619 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10619);
+ }
+ /* parser/parser.nit:10621 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10621);
+ }
+ /* parser/parser.nit:10623 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10623);
+ }
+ /* parser/parser.nit:10624 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10635 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10636 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10636);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction248___action[] = "parser::ReduceAction248::(parser::ReduceAction::action)";
+void parser___ReduceAction248___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 = 10641;
+ fra.me.meth = LOCATE_parser___ReduceAction248___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10643 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10644 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10645 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10646 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10647 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10648 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10649 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10650 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10652 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10652);
+ }
+ /* parser/parser.nit:10654 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10654);
+ }
+ /* parser/parser.nit:10656 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10656);
+ }
+ /* parser/parser.nit:10658 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10658);
+ }
+ /* parser/parser.nit:10660 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10660);
+ }
+ /* parser/parser.nit:10662 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10662);
+ }
+ /* parser/parser.nit:10664 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10664);
+ }
+ /* parser/parser.nit:10665 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, 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]);
+ /* parser/parser.nit:10676 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10677 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10677);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction249___action[] = "parser::ReduceAction249::(parser::ReduceAction::action)";
+void parser___ReduceAction249___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 = 10682;
+ fra.me.meth = LOCATE_parser___ReduceAction249___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10684 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10685 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10686 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10687 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10688 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10689 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10690 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10691 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10692 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10694 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10694);
+ }
+ /* parser/parser.nit:10696 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10696);
+ }
+ /* parser/parser.nit:10698 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10698);
+ }
+ /* parser/parser.nit:10700 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10700);
+ }
+ /* parser/parser.nit:10702 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10702);
+ }
+ /* parser/parser.nit:10704 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10704);
+ }
+ /* parser/parser.nit:10706 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10706);
+ }
+ /* parser/parser.nit:10708 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10708);
+ }
+ /* parser/parser.nit:10709 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], 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]);
+ /* parser/parser.nit:10720 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10721 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10721);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction250___action[] = "parser::ReduceAction250::(parser::ReduceAction::action)";
+void parser___ReduceAction250___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 = 10726;
+ fra.me.meth = LOCATE_parser___ReduceAction250___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10728 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10729 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10730 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10731 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10732 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10733 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10734 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10735 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10736 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10738 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10738);
+ }
+ /* parser/parser.nit:10740 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10740);
+ }
+ /* parser/parser.nit:10742 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10742);
+ }
+ /* parser/parser.nit:10744 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10744);
+ }
+ /* parser/parser.nit:10746 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10746);
+ }
+ /* parser/parser.nit:10748 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10748);
+ }
+ /* parser/parser.nit:10750 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10750);
+ }
+ /* parser/parser.nit:10752 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10752);
+ }
+ /* parser/parser.nit:10753 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], NIT_NULL, 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]);
+ /* parser/parser.nit:10764 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10765 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10765);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction251___action[] = "parser::ReduceAction251::(parser::ReduceAction::action)";
+void parser___ReduceAction251___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 = 10770;
+ fra.me.meth = LOCATE_parser___ReduceAction251___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10772 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10773 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10774 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10775 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10776 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10777 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10778 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10779 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10780 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10781 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10783 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10783);
+ }
+ /* parser/parser.nit:10785 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10785);
+ }
+ /* parser/parser.nit:10787 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10787);
+ }
+ /* parser/parser.nit:10789 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10789);
+ }
+ /* parser/parser.nit:10791 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10791);
+ }
+ /* parser/parser.nit:10793 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10793);
+ }
+ /* parser/parser.nit:10795 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10795);
+ }
+ /* parser/parser.nit:10797 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10797);
+ }
+ /* parser/parser.nit:10799 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10799);
+ }
+ /* parser/parser.nit:10800 */
+ fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[11], 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]);
+ /* parser/parser.nit:10811 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10812 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10812);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction252___action[] = "parser::ReduceAction252::(parser::ReduceAction::action)";
+void parser___ReduceAction252___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 = 10817;
+ fra.me.meth = LOCATE_parser___ReduceAction252___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10819 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10820 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10822 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreadable, ID_parser___parser_nodes___TKwreadable)) /*cast nullable TKwreadable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10822);
+ }
+ /* parser/parser.nit:10823 */
+ fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10827 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10828 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10828);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction253___action[] = "parser::ReduceAction253::(parser::ReduceAction::action)";
+void parser___ReduceAction253___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 = 10833;
+ fra.me.meth = LOCATE_parser___ReduceAction253___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10835 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10836 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10837 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10839 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10839);
+ }
+ /* parser/parser.nit:10841 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreadable, ID_parser___parser_nodes___TKwreadable)) /*cast nullable TKwreadable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10841);
+ }
+ /* parser/parser.nit:10842 */
+ fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10846 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10847 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10847);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction254___action[] = "parser::ReduceAction254::(parser::ReduceAction::action)";
+void parser___ReduceAction254___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 = 10852;
+ fra.me.meth = LOCATE_parser___ReduceAction254___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10854 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10855 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10857 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10857);
+ }
+ /* parser/parser.nit:10858 */
+ fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10863 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10864 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10864);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction255___action[] = "parser::ReduceAction255::(parser::ReduceAction::action)";
+void parser___ReduceAction255___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 = 10869;
+ fra.me.meth = LOCATE_parser___ReduceAction255___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10871 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10872 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10873 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10875 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10875);
+ }
+ /* parser/parser.nit:10877 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10877);
+ }
+ /* parser/parser.nit:10878 */
+ fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:10883 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10884 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10884);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction256___action[] = "parser::ReduceAction256::(parser::ReduceAction::action)";
+void parser___ReduceAction256___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 = 10889;
+ fra.me.meth = LOCATE_parser___ReduceAction256___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10891 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10892 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10893 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10895 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10895);
+ }
+ /* parser/parser.nit:10897 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10897);
+ }
+ /* parser/parser.nit:10898 */
+ fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10903 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10904 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10904);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction257___action[] = "parser::ReduceAction257::(parser::ReduceAction::action)";
+void parser___ReduceAction257___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 = 10909;
+ fra.me.meth = LOCATE_parser___ReduceAction257___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10911 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10912 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10913 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10914 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10916 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10916);
+ }
+ /* parser/parser.nit:10918 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10918);
+ }
+ /* parser/parser.nit:10920 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10920);
+ }
+ /* parser/parser.nit:10921 */
+ fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:10926 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10927 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10927);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction258___action[] = "parser::ReduceAction258::(parser::ReduceAction::action)";
+void parser___ReduceAction258___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 = 10932;
+ fra.me.meth = LOCATE_parser___ReduceAction258___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10934 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10935 */
+ fra.me.REG[3] = NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
+ /* parser/parser.nit:10936 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10937 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10937);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction259___action[] = "parser::ReduceAction259::(parser::ReduceAction::action)";
+void parser___ReduceAction259___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 = 10942;
+ fra.me.meth = LOCATE_parser___ReduceAction259___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10944 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10945 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10946 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10948 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwprivate, ID_parser___parser_nodes___TKwprivate)) /*cast nullable TKwprivate*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10948);
+ }
+ /* parser/parser.nit:10949 */
+ fra.me.REG[3] = NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
+ /* parser/parser.nit:10952 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10953 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10953);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction260___action[] = "parser::ReduceAction260::(parser::ReduceAction::action)";
+void parser___ReduceAction260___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 = 10958;
+ fra.me.meth = LOCATE_parser___ReduceAction260___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10960 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10961 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10962 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10964 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwprotected, ID_parser___parser_nodes___TKwprotected)) /*cast nullable TKwprotected*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10964);
+ }
+ /* parser/parser.nit:10965 */
+ fra.me.REG[3] = NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
+ /* parser/parser.nit:10968 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10969 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10969);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction261___action[] = "parser::ReduceAction261::(parser::ReduceAction::action)";
+void parser___ReduceAction261___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 = 10974;
+ fra.me.meth = LOCATE_parser___ReduceAction261___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10976 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10977 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10978 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10980 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwintrude, ID_parser___parser_nodes___TKwintrude)) /*cast nullable TKwintrude*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10980);
+ }
+ /* parser/parser.nit:10981 */
+ fra.me.REG[3] = NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
+ /* parser/parser.nit:10984 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:10985 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10985);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction262___action[] = "parser::ReduceAction262::(parser::ReduceAction::action)";
+void parser___ReduceAction262___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 = 10990;
+ fra.me.meth = LOCATE_parser___ReduceAction262___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:10992 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:10993 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:10995 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 10995);
+ }
+ /* parser/parser.nit:10996 */
+ fra.me.REG[3] = NEW_AIdMethid_parser___parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ /* parser/parser.nit:10999 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11000 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11000);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction263___action[] = "parser::ReduceAction263::(parser::ReduceAction::action)";
+void parser___ReduceAction263___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 = 11005;
+ fra.me.meth = LOCATE_parser___ReduceAction263___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11007 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11008 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11010 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPlus, ID_parser___parser_nodes___TPlus)) /*cast nullable TPlus*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11010);
+ }
+ /* parser/parser.nit:11011 */
+ fra.me.REG[3] = NEW_APlusMethid_parser___parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11014 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11015 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11015);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction264___action[] = "parser::ReduceAction264::(parser::ReduceAction::action)";
+void parser___ReduceAction264___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 = 11020;
+ fra.me.meth = LOCATE_parser___ReduceAction264___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11022 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11023 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11025 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMinus, ID_parser___parser_nodes___TMinus)) /*cast nullable TMinus*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11025);
+ }
+ /* parser/parser.nit:11026 */
+ fra.me.REG[3] = NEW_AMinusMethid_parser___parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11029 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11030 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11030);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction265___action[] = "parser::ReduceAction265::(parser::ReduceAction::action)";
+void parser___ReduceAction265___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 = 11035;
+ fra.me.meth = LOCATE_parser___ReduceAction265___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11037 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11038 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11040 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStar, ID_parser___parser_nodes___TStar)) /*cast nullable TStar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11040);
+ }
+ /* parser/parser.nit:11041 */
+ fra.me.REG[3] = NEW_AStarMethid_parser___parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11044 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11045 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11045);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction266___action[] = "parser::ReduceAction266::(parser::ReduceAction::action)";
+void parser___ReduceAction266___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 = 11050;
+ fra.me.meth = LOCATE_parser___ReduceAction266___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11052 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11053 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11055 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TSlash, ID_parser___parser_nodes___TSlash)) /*cast nullable TSlash*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11055);
+ }
+ /* parser/parser.nit:11056 */
+ fra.me.REG[3] = NEW_ASlashMethid_parser___parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11059 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11060 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11060);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction267___action[] = "parser::ReduceAction267::(parser::ReduceAction::action)";
+void parser___ReduceAction267___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 = 11065;
+ fra.me.meth = LOCATE_parser___ReduceAction267___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11067 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11068 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11070 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPercent, ID_parser___parser_nodes___TPercent)) /*cast nullable TPercent*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11070);
+ }
+ /* parser/parser.nit:11071 */
+ fra.me.REG[3] = NEW_APercentMethid_parser___parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11074 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11075 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11075);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction268___action[] = "parser::ReduceAction268::(parser::ReduceAction::action)";
+void parser___ReduceAction268___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 = 11080;
+ fra.me.meth = LOCATE_parser___ReduceAction268___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11082 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11083 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11085 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TEq, ID_parser___parser_nodes___TEq)) /*cast nullable TEq*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11085);
+ }
+ /* parser/parser.nit:11086 */
+ fra.me.REG[3] = NEW_AEqMethid_parser___parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11089 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11090 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11090);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction269___action[] = "parser::ReduceAction269::(parser::ReduceAction::action)";
+void parser___ReduceAction269___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 = 11095;
+ fra.me.meth = LOCATE_parser___ReduceAction269___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11097 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11098 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11100 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TNe, ID_parser___parser_nodes___TNe)) /*cast nullable TNe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11100);
+ }
+ /* parser/parser.nit:11101 */
+ fra.me.REG[3] = NEW_ANeMethid_parser___parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ /* parser/parser.nit:11104 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11105 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11105);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction270___action[] = "parser::ReduceAction270::(parser::ReduceAction::action)";
+void parser___ReduceAction270___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 = 11110;
+ fra.me.meth = LOCATE_parser___ReduceAction270___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11112 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11113 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11115 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLe, ID_parser___parser_nodes___TLe)) /*cast nullable TLe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11115);
+ }
+ /* parser/parser.nit:11116 */
+ fra.me.REG[3] = NEW_ALeMethid_parser___parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ /* parser/parser.nit:11119 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11120 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11120);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction271___action[] = "parser::ReduceAction271::(parser::ReduceAction::action)";
+void parser___ReduceAction271___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 = 11125;
+ fra.me.meth = LOCATE_parser___ReduceAction271___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11127 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11128 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11130 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGe, ID_parser___parser_nodes___TGe)) /*cast nullable TGe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11130);
+ }
+ /* parser/parser.nit:11131 */
+ fra.me.REG[3] = NEW_AGeMethid_parser___parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ /* parser/parser.nit:11134 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11135 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11135);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction272___action[] = "parser::ReduceAction272::(parser::ReduceAction::action)";
+void parser___ReduceAction272___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 = 11140;
+ fra.me.meth = LOCATE_parser___ReduceAction272___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11142 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11143 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11145 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLt, ID_parser___parser_nodes___TLt)) /*cast nullable TLt*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11145);
+ }
+ /* parser/parser.nit:11146 */
+ fra.me.REG[3] = NEW_ALtMethid_parser___parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11149 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11150 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11150);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction273___action[] = "parser::ReduceAction273::(parser::ReduceAction::action)";
+void parser___ReduceAction273___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 = 11155;
+ fra.me.meth = LOCATE_parser___ReduceAction273___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11157 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11158 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11160 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGt, ID_parser___parser_nodes___TGt)) /*cast nullable TGt*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11160);
+ }
+ /* parser/parser.nit:11161 */
+ fra.me.REG[3] = NEW_AGtMethid_parser___parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11164 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11165 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11165);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction274___action[] = "parser::ReduceAction274::(parser::ReduceAction::action)";
+void parser___ReduceAction274___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 = 11170;
+ fra.me.meth = LOCATE_parser___ReduceAction274___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11172 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11173 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11175 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLl, ID_parser___parser_nodes___TLl)) /*cast nullable TLl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11175);
+ }
+ /* parser/parser.nit:11176 */
+ fra.me.REG[3] = NEW_ALlMethid_parser___parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11179 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11180 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11180);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction275___action[] = "parser::ReduceAction275::(parser::ReduceAction::action)";
+void parser___ReduceAction275___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 = 11185;
+ fra.me.meth = LOCATE_parser___ReduceAction275___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11187 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11188 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11190 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGg, ID_parser___parser_nodes___TGg)) /*cast nullable TGg*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11190);
+ }
+ /* parser/parser.nit:11191 */
+ fra.me.REG[3] = NEW_AGgMethid_parser___parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11194 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11195 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11195);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction276___action[] = "parser::ReduceAction276::(parser::ReduceAction::action)";
+void parser___ReduceAction276___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 = 11200;
+ fra.me.meth = LOCATE_parser___ReduceAction276___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11202 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11203 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11204 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11206 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11206);
+ }
+ /* parser/parser.nit:11208 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11208);
+ }
+ /* parser/parser.nit:11209 */
+ fra.me.REG[3] = NEW_ABraMethid_parser___parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:11213 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11214 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11214);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction277___action[] = "parser::ReduceAction277::(parser::ReduceAction::action)";
+void parser___ReduceAction277___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 = 11219;
+ fra.me.meth = LOCATE_parser___ReduceAction277___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11221 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11222 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11224 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStarship, ID_parser___parser_nodes___TStarship)) /*cast nullable TStarship*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11224);
+ }
+ /* parser/parser.nit:11225 */
+ fra.me.REG[3] = NEW_AStarshipMethid_parser___parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ /* parser/parser.nit:11228 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11229 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11229);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction278___action[] = "parser::ReduceAction278::(parser::ReduceAction::action)";
+void parser___ReduceAction278___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 = 11234;
+ fra.me.meth = LOCATE_parser___ReduceAction278___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11236 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11237 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11238 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11240 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11240);
+ }
+ /* parser/parser.nit:11242 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11242);
+ }
+ /* parser/parser.nit:11243 */
+ fra.me.REG[3] = NEW_AAssignMethid_parser___parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:11247 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11248 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11248);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction279___action[] = "parser::ReduceAction279::(parser::ReduceAction::action)";
+void parser___ReduceAction279___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 = 11253;
+ fra.me.meth = LOCATE_parser___ReduceAction279___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11255 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11256 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11257 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11258 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11260 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11260);
+ }
+ /* parser/parser.nit:11262 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11262);
+ }
+ /* parser/parser.nit:11264 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11264);
+ }
+ /* parser/parser.nit:11265 */
+ fra.me.REG[3] = NEW_ABraassignMethid_parser___parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:11270 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11271 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11271);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction280___action[] = "parser::ReduceAction280::(parser::ReduceAction::action)";
+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 = 11276;
+ fra.me.meth = LOCATE_parser___ReduceAction280___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11278 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11279 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11280 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11281 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11282 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11283 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11284 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11285 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11287 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11287);
+ }
+ /* parser/parser.nit:11289 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11289);
+ }
+ /* parser/parser.nit:11291 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11291);
+ }
+ /* parser/parser.nit:11292 */
+ fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
+ /* parser/parser.nit:11299 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:11300 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11300);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction281___action[] = "parser::ReduceAction281::(parser::ReduceAction::action)";
+void parser___ReduceAction281___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 = 11305;
+ fra.me.meth = LOCATE_parser___ReduceAction281___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11307 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11308 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11309 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11310 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11311 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11312 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11313 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11314 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11315 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11317 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11317);
+ }
+ /* parser/parser.nit:11319 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11319);
+ }
+ /* parser/parser.nit:11320 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:11322 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11322);
+ }
+ /* parser/parser.nit:11324 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11324);
+ }
+ /* parser/parser.nit:11325 */
+ fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
+ /* parser/parser.nit:11332 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:11333 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11333);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction282___action[] = "parser::ReduceAction282::(parser::ReduceAction::action)";
+void parser___ReduceAction282___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 = 11338;
+ fra.me.meth = LOCATE_parser___ReduceAction282___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11340 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11341 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11342 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11343 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11344 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11345 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11346 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11347 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11348 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11350 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11350);
+ }
+ /* parser/parser.nit:11352 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11352);
+ }
+ /* parser/parser.nit:11354 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11354);
+ }
+ /* parser/parser.nit:11356 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11356);
+ }
+ /* parser/parser.nit:11357 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:11358 */
+ fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8]);
+ /* parser/parser.nit:11365 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:11366 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11366);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction283___action[] = "parser::ReduceAction283::(parser::ReduceAction::action)";
+void parser___ReduceAction283___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 = 11371;
+ fra.me.meth = LOCATE_parser___ReduceAction283___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11373 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11374 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11375 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11376 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11377 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11378 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11379 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11380 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11381 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11382 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11384 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11384);
+ }
+ /* parser/parser.nit:11386 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11386);
+ }
+ /* parser/parser.nit:11387 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:11389 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11389);
+ }
+ /* parser/parser.nit:11391 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11391);
+ }
+ /* parser/parser.nit:11393 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11393);
+ }
+ /* parser/parser.nit:11394 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
+ fra.me.REG[9] = fra.me.REG[3];
+ /* parser/parser.nit:11395 */
+ fra.me.REG[9] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9]);
+ /* parser/parser.nit:11402 */
+ fra.me.REG[2] = fra.me.REG[9];
+ /* parser/parser.nit:11403 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11403);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction284___action[] = "parser::ReduceAction284::(parser::ReduceAction::action)";
+void parser___ReduceAction284___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 = 11408;
+ fra.me.meth = LOCATE_parser___ReduceAction284___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11410 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11411 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11412 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11413 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11414 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11415 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11416 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11418 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11418);
+ }
+ /* parser/parser.nit:11420 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11420);
+ }
+ /* parser/parser.nit:11421 */
+ fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
+ /* parser/parser.nit:11428 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:11429 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11429);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction285___action[] = "parser::ReduceAction285::(parser::ReduceAction::action)";
+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 = 11434;
+ fra.me.meth = LOCATE_parser___ReduceAction285___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11436 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11437 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11438 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11439 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11440 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11441 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11442 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11443 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11445 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11445);
+ }
+ /* parser/parser.nit:11447 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11447);
+ }
+ /* parser/parser.nit:11448 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:11450 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11450);
+ }
+ /* parser/parser.nit:11451 */
+ fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
+ /* parser/parser.nit:11458 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:11459 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11459);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction286___action[] = "parser::ReduceAction286::(parser::ReduceAction::action)";
+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 = 11464;
+ fra.me.meth = LOCATE_parser___ReduceAction286___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11466 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11467 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11468 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11469 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11470 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11471 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11472 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11473 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11475 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11475);
+ }
+ /* parser/parser.nit:11477 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11477);
+ }
+ /* parser/parser.nit:11479 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11479);
+ }
+ /* parser/parser.nit:11480 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:11481 */
+ fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], NIT_NULL, fra.me.REG[7]);
+ /* parser/parser.nit:11488 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:11489 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11489);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction287___action[] = "parser::ReduceAction287::(parser::ReduceAction::action)";
+void parser___ReduceAction287___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 = 11494;
+ fra.me.meth = LOCATE_parser___ReduceAction287___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11496 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11497 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11498 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11499 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11500 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11501 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11502 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11503 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11504 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11506 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11506);
+ }
+ /* parser/parser.nit:11508 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11508);
+ }
+ /* parser/parser.nit:11509 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:11511 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11511);
+ }
+ /* parser/parser.nit:11513 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11513);
+ }
+ /* parser/parser.nit:11514 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
+ fra.me.REG[8] = fra.me.REG[3];
+ /* parser/parser.nit:11515 */
+ fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], NIT_NULL, fra.me.REG[8]);
+ /* parser/parser.nit:11522 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:11523 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11523);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction288___action[] = "parser::ReduceAction288::(parser::ReduceAction::action)";
+void parser___ReduceAction288___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 = 11528;
+ fra.me.meth = LOCATE_parser___ReduceAction288___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11530 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11531 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11532 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11533 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11534 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11536 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11536);
+ }
+ /* parser/parser.nit:11537 */
+ fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
+ /* parser/parser.nit:11544 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:11545 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11545);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction289___action[] = "parser::ReduceAction289::(parser::ReduceAction::action)";
+void parser___ReduceAction289___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 = 11550;
+ fra.me.meth = LOCATE_parser___ReduceAction289___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11552 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11553 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11554 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11555 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11556 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11557 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11559 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11559);
+ }
+ /* parser/parser.nit:11561 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11561);
+ }
+ /* parser/parser.nit:11562 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:11563 */
+ fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[6]);
+ /* parser/parser.nit:11570 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:11571 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11571);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction290___action[] = "parser::ReduceAction290::(parser::ReduceAction::action)";
+void parser___ReduceAction290___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 = 11576;
+ fra.me.meth = LOCATE_parser___ReduceAction290___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11578 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11579 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11580 */
+ fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11581 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11582 */
+ fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
+ /* parser/parser.nit:11589 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:11590 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11590);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction291___action[] = "parser::ReduceAction291::(parser::ReduceAction::action)";
+void parser___ReduceAction291___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 = 11595;
+ fra.me.meth = LOCATE_parser___ReduceAction291___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11597 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11598 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11599 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11600 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11601 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11603 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11603);
+ }
+ /* parser/parser.nit:11604 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:11605 */
+ fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[5]);
+ /* parser/parser.nit:11612 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:11613 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11613);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction292___action[] = "parser::ReduceAction292::(parser::ReduceAction::action)";
+void parser___ReduceAction292___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 = 11618;
+ fra.me.meth = LOCATE_parser___ReduceAction292___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11620 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11621 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11622 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11623 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11624 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11625 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11627 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11627);
+ }
+ /* parser/parser.nit:11629 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11629);
+ }
+ /* parser/parser.nit:11630 */
+ fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
+ /* parser/parser.nit:11637 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:11638 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11638);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction293___action[] = "parser::ReduceAction293::(parser::ReduceAction::action)";
+void parser___ReduceAction293___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 = 11643;
+ fra.me.meth = LOCATE_parser___ReduceAction293___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11645 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11646 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11647 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11648 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11649 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11650 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11651 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11653 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11653);
+ }
+ /* parser/parser.nit:11655 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11655);
+ }
+ /* parser/parser.nit:11656 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:11658 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11658);
+ }
+ /* parser/parser.nit:11659 */
+ fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
+ /* parser/parser.nit:11666 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:11667 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11667);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction294___action[] = "parser::ReduceAction294::(parser::ReduceAction::action)";
+void parser___ReduceAction294___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 = 11672;
+ fra.me.meth = LOCATE_parser___ReduceAction294___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11674 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11675 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11676 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11677 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11678 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11679 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11680 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11682 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11682);
+ }
+ /* parser/parser.nit:11684 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11684);
+ }
+ /* parser/parser.nit:11686 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11686);
+ }
+ /* parser/parser.nit:11687 */
+ fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
+ /* parser/parser.nit:11694 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:11695 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11695);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction295___action[] = "parser::ReduceAction295::(parser::ReduceAction::action)";
+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 = 11700;
+ fra.me.meth = LOCATE_parser___ReduceAction295___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11702 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11703 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11704 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11705 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11706 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11707 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11708 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11709 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11711 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11711);
+ }
+ /* parser/parser.nit:11713 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11713);
+ }
+ /* parser/parser.nit:11714 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
+ fra.me.REG[7] = fra.me.REG[5];
+ /* parser/parser.nit:11716 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11716);
+ }
+ /* parser/parser.nit:11718 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11718);
+ }
+ /* parser/parser.nit:11719 */
+ fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
+ /* parser/parser.nit:11726 */
+ fra.me.REG[2] = fra.me.REG[8];
+ /* parser/parser.nit:11727 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11727);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction296___action[] = "parser::ReduceAction296::(parser::ReduceAction::action)";
+void parser___ReduceAction296___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 = 11732;
+ fra.me.meth = LOCATE_parser___ReduceAction296___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11734 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11735 */
+ fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11736 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11737 */
+ fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
+ /* parser/parser.nit:11744 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:11745 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11745);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction297___action[] = "parser::ReduceAction297::(parser::ReduceAction::action)";
+void parser___ReduceAction297___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 = 11750;
+ fra.me.meth = LOCATE_parser___ReduceAction297___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11752 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11753 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11754 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11755 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11757 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11757);
+ }
+ /* parser/parser.nit:11758 */
+ fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
+ /* parser/parser.nit:11765 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:11766 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11766);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction298___action[] = "parser::ReduceAction298::(parser::ReduceAction::action)";
+void parser___ReduceAction298___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 = 11771;
+ fra.me.meth = LOCATE_parser___ReduceAction298___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11773 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11774 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11775 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11776 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11778 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:11779 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:11781 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:11782 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11782);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction299___action[] = "parser::ReduceAction299::(parser::ReduceAction::action)";
+void parser___ReduceAction299___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 = 11787;
+ fra.me.meth = LOCATE_parser___ReduceAction299___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11789 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11790 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11791 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11792 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11793 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11796 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11796);
+ }
+ /* parser/parser.nit:11797 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:11798 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:11800 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:11801 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:11802 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11802);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction300___action[] = "parser::ReduceAction300::(parser::ReduceAction::action)";
+void parser___ReduceAction300___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 = 11807;
+ fra.me.meth = LOCATE_parser___ReduceAction300___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11809 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11810 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11811 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11812 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11814 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11815 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11815);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction301___action[] = "parser::ReduceAction301::(parser::ReduceAction::action)";
+void parser___ReduceAction301___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 = 11820;
+ fra.me.meth = LOCATE_parser___ReduceAction301___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11822 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11823 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11825 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11825);
+ }
+ /* parser/parser.nit:11826 */
+ fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:11831 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11832 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11832);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction302___action[] = "parser::ReduceAction302::(parser::ReduceAction::action)";
+void parser___ReduceAction302___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 = 11837;
+ fra.me.meth = LOCATE_parser___ReduceAction302___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11839 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11840 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11841 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11843 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11843);
+ }
+ /* parser/parser.nit:11845 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11845);
+ }
+ /* parser/parser.nit:11846 */
+ fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:11851 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11852 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11852);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction303___action[] = "parser::ReduceAction303::(parser::ReduceAction::action)";
+void parser___ReduceAction303___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 = 11857;
+ fra.me.meth = LOCATE_parser___ReduceAction303___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11859 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11860 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11861 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11862 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11864 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11864);
+ }
+ /* parser/parser.nit:11866 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11866);
+ }
+ /* parser/parser.nit:11868 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TDotdotdot, ID_parser___parser_nodes___TDotdotdot)) /*cast nullable TDotdotdot*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11868);
+ }
+ /* parser/parser.nit:11869 */
+ fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:11874 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11875 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11875);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction304___action[] = "parser::ReduceAction304::(parser::ReduceAction::action)";
+void parser___ReduceAction304___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 = 11880;
+ fra.me.meth = LOCATE_parser___ReduceAction304___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11882 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11883 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11884 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:11886 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11886);
+ }
+ /* parser/parser.nit:11887 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:11888 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:11889 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11889);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction305___action[] = "parser::ReduceAction305::(parser::ReduceAction::action)";
+void parser___ReduceAction305___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 = 11894;
+ fra.me.meth = LOCATE_parser___ReduceAction305___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11896 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11897 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11898 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11899 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11900 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11902 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11902);
+ }
+ /* parser/parser.nit:11904 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11904);
+ }
+ /* parser/parser.nit:11906 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11906);
+ }
+ /* parser/parser.nit:11907 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:11914 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11915 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11915);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction306___action[] = "parser::ReduceAction306::(parser::ReduceAction::action)";
+void parser___ReduceAction306___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 = 11920;
+ fra.me.meth = LOCATE_parser___ReduceAction306___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11922 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11923 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11924 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11925 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11926 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11927 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11929 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11929);
+ }
+ /* parser/parser.nit:11931 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11931);
+ }
+ /* parser/parser.nit:11933 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11933);
+ }
+ /* parser/parser.nit:11935 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11935);
+ }
+ /* parser/parser.nit:11936 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:11943 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11944 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11944);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction307___action[] = "parser::ReduceAction307::(parser::ReduceAction::action)";
+void parser___ReduceAction307___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 = 11949;
+ fra.me.meth = LOCATE_parser___ReduceAction307___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:11951 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11952 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11953 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11954 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11955 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11956 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11957 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11959 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11959);
+ }
+ /* parser/parser.nit:11961 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11961);
+ }
+ /* parser/parser.nit:11963 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11963);
+ }
+ /* parser/parser.nit:11965 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11965);
+ }
+ /* parser/parser.nit:11966 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:11973 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:11974 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11974);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction308___action[] = "parser::ReduceAction308::(parser::ReduceAction::action)";
+void parser___ReduceAction308___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 = 11979;
+ fra.me.meth = LOCATE_parser___ReduceAction308___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:11981 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:11982 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11983 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11984 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11985 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11986 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11987 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11988 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:11990 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11990);
+ }
+ /* parser/parser.nit:11992 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11992);
+ }
+ /* parser/parser.nit:11994 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11994);
+ }
+ /* parser/parser.nit:11996 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11996);
+ }
+ /* parser/parser.nit:11998 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 11998);
+ }
+ /* parser/parser.nit:11999 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12006 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12007 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12007);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction309___action[] = "parser::ReduceAction309::(parser::ReduceAction::action)";
+void parser___ReduceAction309___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 = 12012;
+ fra.me.meth = LOCATE_parser___ReduceAction309___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12014 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12015 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12016 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12017 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12018 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12019 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12020 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12021 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12023 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12023);
+ }
+ /* parser/parser.nit:12025 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12025);
+ }
+ /* parser/parser.nit:12027 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12027);
+ }
+ /* parser/parser.nit:12029 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12029);
+ }
+ /* parser/parser.nit:12030 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12037 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12038 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12038);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction310___action[] = "parser::ReduceAction310::(parser::ReduceAction::action)";
+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 = 12043;
+ fra.me.meth = LOCATE_parser___ReduceAction310___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:12045 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12046 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12047 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12048 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12049 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12050 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12051 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12052 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12053 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12055 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12055);
+ }
+ /* parser/parser.nit:12057 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12057);
+ }
+ /* parser/parser.nit:12059 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12059);
+ }
+ /* parser/parser.nit:12061 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12061);
+ }
+ /* parser/parser.nit:12063 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12063);
+ }
+ /* parser/parser.nit:12064 */
+ fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12071 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12072 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12072);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction311___action[] = "parser::ReduceAction311::(parser::ReduceAction::action)";
+void parser___ReduceAction311___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 = 12077;
+ fra.me.meth = LOCATE_parser___ReduceAction311___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12079 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12080 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12082 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12082);
+ }
+ /* parser/parser.nit:12083 */
+ fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:12087 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12088 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12088);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction312___action[] = "parser::ReduceAction312::(parser::ReduceAction::action)";
+void parser___ReduceAction312___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 = 12093;
+ fra.me.meth = LOCATE_parser___ReduceAction312___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12095 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12096 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12097 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12098 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12099 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12101 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12101);
+ }
+ /* parser/parser.nit:12103 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12103);
+ }
+ /* parser/parser.nit:12104 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12105 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:12107 */
+ fra.me.REG[5] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[4], fra.me.REG[5]);
+ /* parser/parser.nit:12111 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12112 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12112);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction313___action[] = "parser::ReduceAction313::(parser::ReduceAction::action)";
+void parser___ReduceAction313___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 = 12117;
+ fra.me.meth = LOCATE_parser___ReduceAction313___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12119 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12120 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12121 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12122 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12123 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12124 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12126 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12126);
+ }
+ /* parser/parser.nit:12128 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12128);
+ }
+ /* parser/parser.nit:12130 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12130);
+ }
+ /* parser/parser.nit:12131 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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:12132 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:12134 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:12135 */
+ fra.me.REG[6] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[5], fra.me.REG[6]);
+ /* parser/parser.nit:12139 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:12140 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12140);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction314___action[] = "parser::ReduceAction314::(parser::ReduceAction::action)";
+void parser___ReduceAction314___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 = 12145;
+ fra.me.meth = LOCATE_parser___ReduceAction314___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12147 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12148 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12149 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12150 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12152 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12153 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12153);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction315___action[] = "parser::ReduceAction315::(parser::ReduceAction::action)";
+void parser___ReduceAction315___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 = 12158;
+ fra.me.meth = LOCATE_parser___ReduceAction315___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12160 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12161 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12163 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12164 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12164);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction317___action[] = "parser::ReduceAction317::(parser::ReduceAction::action)";
+void parser___ReduceAction317___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 = 12169;
+ fra.me.meth = LOCATE_parser___ReduceAction317___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12171 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12172 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12174 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12174);
+ }
+ /* parser/parser.nit:12175 */
+ fra.me.REG[3] = NEW_ASuperExternCall_parser___parser_prod___ASuperExternCall___init_asuperexterncall(fra.me.REG[3]);
+ /* parser/parser.nit:12178 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12179 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12179);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction318___action[] = "parser::ReduceAction318::(parser::ReduceAction::action)";
+void parser___ReduceAction318___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 = 12184;
+ fra.me.meth = LOCATE_parser___ReduceAction318___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12186 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12187 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12189 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12189);
+ }
+ /* parser/parser.nit:12190 */
+ fra.me.REG[3] = NEW_ALocalPropExternCall_parser___parser_prod___ALocalPropExternCall___init_alocalpropexterncall(fra.me.REG[3]);
+ /* parser/parser.nit:12193 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12194 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12194);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction319___action[] = "parser::ReduceAction319::(parser::ReduceAction::action)";
+void parser___ReduceAction319___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 = 12199;
+ fra.me.meth = LOCATE_parser___ReduceAction319___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12201 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12202 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12203 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12204 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12206 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12206);
+ }
+ /* parser/parser.nit:12208 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12208);
+ }
+ /* parser/parser.nit:12210 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12210);
+ }
+ /* parser/parser.nit:12211 */
+ fra.me.REG[3] = NEW_AFullPropExternCall_parser___parser_prod___AFullPropExternCall___init_afullpropexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12216 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12217 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12217);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction320___action[] = "parser::ReduceAction320::(parser::ReduceAction::action)";
+void parser___ReduceAction320___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 = 12222;
+ fra.me.meth = LOCATE_parser___ReduceAction320___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12224 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12225 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12227 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12227);
+ }
+ /* parser/parser.nit:12228 */
+ fra.me.REG[3] = NEW_AInitPropExternCall_parser___parser_prod___AInitPropExternCall___init_ainitpropexterncall(fra.me.REG[3]);
+ /* parser/parser.nit:12231 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12232 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12232);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction321___action[] = "parser::ReduceAction321::(parser::ReduceAction::action)";
+void parser___ReduceAction321___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 = 12237;
+ fra.me.meth = LOCATE_parser___ReduceAction321___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12239 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12240 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12241 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12242 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12243 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12244 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12245 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12246 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12247 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12249 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12249);
+ }
+ /* parser/parser.nit:12251 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12251);
+ }
+ /* parser/parser.nit:12253 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12253);
+ }
+ /* parser/parser.nit:12254 */
+ fra.me.REG[3] = NEW_ACastAsExternCall_parser___parser_prod___ACastAsExternCall___init_acastasexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12259 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12260 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12260);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction322___action[] = "parser::ReduceAction322::(parser::ReduceAction::action)";
+void parser___ReduceAction322___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 = 12265;
+ fra.me.meth = LOCATE_parser___ReduceAction322___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12267 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12268 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12269 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12270 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12271 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12273 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12273);
+ }
+ /* parser/parser.nit:12275 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12275);
+ }
+ /* parser/parser.nit:12277 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12277);
+ }
+ /* parser/parser.nit:12278 */
+ fra.me.REG[3] = NEW_AAsNullableExternCall_parser___parser_prod___AAsNullableExternCall___init_aasnullableexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12283 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12284 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12284);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction323___action[] = "parser::ReduceAction323::(parser::ReduceAction::action)";
+void parser___ReduceAction323___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 = 12289;
+ fra.me.meth = LOCATE_parser___ReduceAction323___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12291 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12292 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12293 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12294 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12295 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12296 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12297 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12299 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12299);
+ }
+ /* parser/parser.nit:12301 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12301);
+ }
+ /* parser/parser.nit:12303 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12303);
+ }
+ /* parser/parser.nit:12305 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12305);
+ }
+ /* parser/parser.nit:12306 */
+ fra.me.REG[3] = NEW_AAsNotNullableExternCall_parser___parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12312 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12313 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12313);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction324___action[] = "parser::ReduceAction324::(parser::ReduceAction::action)";
+void parser___ReduceAction324___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 = 12318;
+ fra.me.meth = LOCATE_parser___ReduceAction324___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12320 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12321 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12322 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12324 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwin, ID_parser___parser_nodes___TKwin)) /*cast nullable TKwin*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12324);
+ }
+ /* parser/parser.nit:12326 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12326);
+ }
+ /* parser/parser.nit:12327 */
+ fra.me.REG[3] = NEW_AInLanguage_parser___parser_prod___AInLanguage___init_ainlanguage(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12331 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12332 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12332);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction325___action[] = "parser::ReduceAction325::(parser::ReduceAction::action)";
+void parser___ReduceAction325___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 = 12337;
+ fra.me.meth = LOCATE_parser___ReduceAction325___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12339 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12340 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12342 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TExternCodeSegment, ID_parser___parser_nodes___TExternCodeSegment)) /*cast nullable TExternCodeSegment*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12342);
+ }
+ /* parser/parser.nit:12343 */
+ fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:12347 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12348 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12348);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction326___action[] = "parser::ReduceAction326::(parser::ReduceAction::action)";
+void parser___ReduceAction326___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 = 12353;
+ fra.me.meth = LOCATE_parser___ReduceAction326___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12355 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12356 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12357 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12359 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AInLanguage, ID_parser___parser_nodes___AInLanguage)) /*cast nullable AInLanguage*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12359);
+ }
+ /* parser/parser.nit:12361 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TExternCodeSegment, ID_parser___parser_nodes___TExternCodeSegment)) /*cast nullable TExternCodeSegment*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12361);
+ }
+ /* parser/parser.nit:12362 */
+ fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12366 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12367 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12367);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction327___action[] = "parser::ReduceAction327::(parser::ReduceAction::action)";
+void parser___ReduceAction327___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 = 12372;
+ fra.me.meth = LOCATE_parser___ReduceAction327___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12374 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12375 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12376 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12378 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12379 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12379);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction328___action[] = "parser::ReduceAction328::(parser::ReduceAction::action)";
+void parser___ReduceAction328___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 = 12384;
+ fra.me.meth = LOCATE_parser___ReduceAction328___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12386 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12387 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12388 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12390 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12390);
+ }
+ /* parser/parser.nit:12391 */
+ fra.me.REG[4] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
+ /* parser/parser.nit:12396 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:12397 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12397);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction329___action[] = "parser::ReduceAction329::(parser::ReduceAction::action)";
+void parser___ReduceAction329___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 = 12402;
+ fra.me.meth = LOCATE_parser___ReduceAction329___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12404 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12405 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12406 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12407 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12409 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12409);
+ }
+ /* parser/parser.nit:12411 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12411);
+ }
+ /* parser/parser.nit:12412 */
+ fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ /* parser/parser.nit:12417 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12418 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12418);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction330___action[] = "parser::ReduceAction330::(parser::ReduceAction::action)";
+void parser___ReduceAction330___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 = 12423;
+ fra.me.meth = LOCATE_parser___ReduceAction330___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12425 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12426 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12427 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12428 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12429 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12430 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12431 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12432 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12434 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12434);
+ }
+ /* parser/parser.nit:12436 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12436);
+ }
+ /* parser/parser.nit:12437 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:12438 */
+ fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
+ /* parser/parser.nit:12443 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12444 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12444);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction331___action[] = "parser::ReduceAction331::(parser::ReduceAction::action)";
+void parser___ReduceAction331___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 = 12449;
+ fra.me.meth = LOCATE_parser___ReduceAction331___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12451 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12452 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12453 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12454 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12455 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12456 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12457 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12458 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12459 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12461 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12461);
+ }
+ /* parser/parser.nit:12463 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12463);
+ }
+ /* parser/parser.nit:12465 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12465);
+ }
+ /* parser/parser.nit:12466 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:12467 */
+ fra.me.REG[6] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
+ /* parser/parser.nit:12472 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:12473 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12473);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction332___action[] = "parser::ReduceAction332::(parser::ReduceAction::action)";
+void parser___ReduceAction332___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 = 12478;
+ fra.me.meth = LOCATE_parser___ReduceAction332___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12480 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12481 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12482 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12484 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12485 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:12487 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:12488 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12488);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction333___action[] = "parser::ReduceAction333::(parser::ReduceAction::action)";
+void parser___ReduceAction333___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 = 12493;
+ fra.me.meth = LOCATE_parser___ReduceAction333___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12495 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12496 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12497 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12498 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12501 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12501);
+ }
+ /* parser/parser.nit:12502 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12503 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:12505 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:12506 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12507 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12507);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction334___action[] = "parser::ReduceAction334::(parser::ReduceAction::action)";
+void parser___ReduceAction334___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 = 12512;
+ fra.me.meth = LOCATE_parser___ReduceAction334___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12514 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12515 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12516 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12517 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12519 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12520 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12520);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction336___action[] = "parser::ReduceAction336::(parser::ReduceAction::action)";
+void parser___ReduceAction336___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 = 12525;
+ fra.me.meth = LOCATE_parser___ReduceAction336___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12527 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12528 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12529 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12531 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12532 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12532);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction337___action[] = "parser::ReduceAction337::(parser::ReduceAction::action)";
+void parser___ReduceAction337___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 = 12537;
+ fra.me.meth = LOCATE_parser___ReduceAction337___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12539 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12540 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12541 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12542 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12544 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12544);
+ }
+ /* parser/parser.nit:12545 */
+ fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12549 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12550 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12550);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction338___action[] = "parser::ReduceAction338::(parser::ReduceAction::action)";
+void parser___ReduceAction338___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 = 12555;
+ fra.me.meth = LOCATE_parser___ReduceAction338___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12557 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12558 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12559 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12561 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12561);
+ }
+ /* parser/parser.nit:12562 */
+ fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12566 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12567 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12567);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction339___action[] = "parser::ReduceAction339::(parser::ReduceAction::action)";
+void parser___ReduceAction339___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 = 12572;
+ fra.me.meth = LOCATE_parser___ReduceAction339___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12574 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12575 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12577 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12578 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12578);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction340___action[] = "parser::ReduceAction340::(parser::ReduceAction::action)";
+void parser___ReduceAction340___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 = 12583;
+ fra.me.meth = LOCATE_parser___ReduceAction340___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12585 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12586 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12587 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12589 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12589);
+ }
+ /* parser/parser.nit:12590 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12591 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:12593 */
+ fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
+ /* parser/parser.nit:12597 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:12598 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12598);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction341___action[] = "parser::ReduceAction341::(parser::ReduceAction::action)";
+void parser___ReduceAction341___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 = 12603;
+ fra.me.meth = LOCATE_parser___ReduceAction341___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12605 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12606 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12607 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12608 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12610 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12610);
+ }
+ /* parser/parser.nit:12612 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12612);
+ }
+ /* parser/parser.nit:12613 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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:12614 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:12616 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:12617 */
+ fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
+ /* parser/parser.nit:12621 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12622 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12622);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction342___action[] = "parser::ReduceAction342::(parser::ReduceAction::action)";
+void parser___ReduceAction342___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 = 12627;
+ fra.me.meth = LOCATE_parser___ReduceAction342___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12629 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12630 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12631 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12632 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12634 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12634);
+ }
+ /* parser/parser.nit:12635 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12636 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:12638 */
+ fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
+ /* parser/parser.nit:12642 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:12643 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12643);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction343___action[] = "parser::ReduceAction343::(parser::ReduceAction::action)";
+void parser___ReduceAction343___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 = 12648;
+ fra.me.meth = LOCATE_parser___ReduceAction343___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12650 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12651 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12652 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12653 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12654 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12656 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12656);
+ }
+ /* parser/parser.nit:12658 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12658);
+ }
+ /* parser/parser.nit:12659 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12660 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:12662 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:12663 */
+ fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
+ /* parser/parser.nit:12667 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12668 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12668);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction344___action[] = "parser::ReduceAction344::(parser::ReduceAction::action)";
+void parser___ReduceAction344___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 = 12673;
+ fra.me.meth = LOCATE_parser___ReduceAction344___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12675 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12676 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12677 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12678 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12679 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12681 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12681);
+ }
+ /* parser/parser.nit:12682 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12683 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:12686 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12686);
+ }
+ /* parser/parser.nit:12687 */
+ fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:12691 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12692 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12692);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction345___action[] = "parser::ReduceAction345::(parser::ReduceAction::action)";
+void parser___ReduceAction345___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 = 12697;
+ fra.me.meth = LOCATE_parser___ReduceAction345___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12699 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12700 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12701 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12702 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12703 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12704 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12706 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12706);
+ }
+ /* parser/parser.nit:12708 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12708);
+ }
+ /* parser/parser.nit:12709 */
+ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:12710 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
+ }
+ /* parser/parser.nit:12712 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:12714 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12714);
+ }
+ /* parser/parser.nit:12715 */
+ fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6], fra.me.REG[3]);
+ /* parser/parser.nit:12719 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12720 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12720);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction349___action[] = "parser::ReduceAction349::(parser::ReduceAction::action)";
+void parser___ReduceAction349___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 = 12725;
+ fra.me.meth = LOCATE_parser___ReduceAction349___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12727 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12728 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12730 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreturn, ID_parser___parser_nodes___TKwreturn)) /*cast nullable TKwreturn*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12730);
+ }
+ /* parser/parser.nit:12731 */
+ fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:12735 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12736 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12736);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction350___action[] = "parser::ReduceAction350::(parser::ReduceAction::action)";
+void parser___ReduceAction350___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 = 12741;
+ fra.me.meth = LOCATE_parser___ReduceAction350___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12743 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12744 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12745 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12747 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwreturn, ID_parser___parser_nodes___TKwreturn)) /*cast nullable TKwreturn*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12747);
+ }
+ /* parser/parser.nit:12749 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12749);
+ }
+ /* parser/parser.nit:12750 */
+ fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12754 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12755 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12755);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction351___action[] = "parser::ReduceAction351::(parser::ReduceAction::action)";
+void parser___ReduceAction351___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 = 12760;
+ fra.me.meth = LOCATE_parser___ReduceAction351___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12762 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12763 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12765 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12765);
+ }
+ /* parser/parser.nit:12766 */
+ fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:12771 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12772 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12772);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction352___action[] = "parser::ReduceAction352::(parser::ReduceAction::action)";
+void parser___ReduceAction352___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 = 12777;
+ fra.me.meth = LOCATE_parser___ReduceAction352___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12779 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12780 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12781 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12783 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12783);
+ }
+ /* parser/parser.nit:12785 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12785);
+ }
+ /* parser/parser.nit:12786 */
+ fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:12791 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12792 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12792);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction353___action[] = "parser::ReduceAction353::(parser::ReduceAction::action)";
+void parser___ReduceAction353___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 = 12797;
+ fra.me.meth = LOCATE_parser___ReduceAction353___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12799 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12800 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12801 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12803 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12803);
+ }
+ /* parser/parser.nit:12805 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12805);
+ }
+ /* parser/parser.nit:12806 */
+ fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:12811 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12812 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12812);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction354___action[] = "parser::ReduceAction354::(parser::ReduceAction::action)";
+void parser___ReduceAction354___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 = 12817;
+ fra.me.meth = LOCATE_parser___ReduceAction354___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12819 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12820 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12821 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12822 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12824 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12824);
+ }
+ /* parser/parser.nit:12826 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12826);
+ }
+ /* parser/parser.nit:12828 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12828);
+ }
+ /* parser/parser.nit:12829 */
+ fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12834 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12835 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12835);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction355___action[] = "parser::ReduceAction355::(parser::ReduceAction::action)";
+void parser___ReduceAction355___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 = 12840;
+ fra.me.meth = LOCATE_parser___ReduceAction355___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12842 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12843 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12845 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwabort, ID_parser___parser_nodes___TKwabort)) /*cast nullable TKwabort*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12845);
+ }
+ /* parser/parser.nit:12846 */
+ fra.me.REG[3] = NEW_AAbortExpr_parser___parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[3]);
+ /* parser/parser.nit:12849 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12850 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12850);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction356___action[] = "parser::ReduceAction356::(parser::ReduceAction::action)";
+void parser___ReduceAction356___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 = 12855;
+ fra.me.meth = LOCATE_parser___ReduceAction356___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12857 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12858 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12860 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12860);
+ }
+ /* parser/parser.nit:12861 */
+ fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:12866 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12867 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12867);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction357___action[] = "parser::ReduceAction357::(parser::ReduceAction::action)";
+void parser___ReduceAction357___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 = 12872;
+ fra.me.meth = LOCATE_parser___ReduceAction357___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12874 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12875 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12876 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12878 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12878);
+ }
+ /* parser/parser.nit:12880 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12880);
+ }
+ /* parser/parser.nit:12881 */
+ fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:12886 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12887 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12887);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction358___action[] = "parser::ReduceAction358::(parser::ReduceAction::action)";
+void parser___ReduceAction358___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 = 12892;
+ fra.me.meth = LOCATE_parser___ReduceAction358___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12894 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12895 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12896 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12898 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12898);
+ }
+ /* parser/parser.nit:12900 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12900);
+ }
+ /* parser/parser.nit:12901 */
+ fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:12906 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12907 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12907);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction359___action[] = "parser::ReduceAction359::(parser::ReduceAction::action)";
+void parser___ReduceAction359___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 = 12912;
+ fra.me.meth = LOCATE_parser___ReduceAction359___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12914 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12915 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12916 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12917 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12919 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12919);
+ }
+ /* parser/parser.nit:12921 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12921);
+ }
+ /* parser/parser.nit:12923 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12923);
+ }
+ /* parser/parser.nit:12924 */
+ fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:12929 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:12930 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12930);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction366___action[] = "parser::ReduceAction366::(parser::ReduceAction::action)";
+void parser___ReduceAction366___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 = 12935;
+ fra.me.meth = LOCATE_parser___ReduceAction366___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12937 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12938 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12939 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12940 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12941 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12942 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12943 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12945 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12945);
+ }
+ /* parser/parser.nit:12947 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12947);
+ }
+ /* parser/parser.nit:12949 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12949);
+ }
+ /* parser/parser.nit:12950 */
+ fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
+ /* parser/parser.nit:12956 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:12957 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12957);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction367___action[] = "parser::ReduceAction367::(parser::ReduceAction::action)";
+void parser___ReduceAction367___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 = 12962;
+ fra.me.meth = LOCATE_parser___ReduceAction367___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:12964 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12965 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12966 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12967 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12968 */
+ fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:12970 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12970);
+ }
+ /* parser/parser.nit:12972 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12972);
+ }
+ /* parser/parser.nit:12973 */
+ fra.me.REG[5] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ /* parser/parser.nit:12979 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:12980 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12980);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction368___action[] = "parser::ReduceAction368::(parser::ReduceAction::action)";
+void parser___ReduceAction368___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 = 12985;
+ fra.me.meth = LOCATE_parser___ReduceAction368___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:12987 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:12988 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12989 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12990 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12991 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12992 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12993 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:12994 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:12996 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12996);
+ }
+ /* parser/parser.nit:12998 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 12998);
+ }
+ /* parser/parser.nit:13000 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13000);
+ }
+ /* parser/parser.nit:13002 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13002);
+ }
+ /* parser/parser.nit:13003 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* parser/parser.nit:13004 */
+ fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7]);
+ /* parser/parser.nit:13010 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* parser/parser.nit:13011 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13011);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction369___action[] = "parser::ReduceAction369::(parser::ReduceAction::action)";
+void parser___ReduceAction369___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 = 13016;
+ fra.me.meth = LOCATE_parser___ReduceAction369___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13018 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13019 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13020 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13021 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13022 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13023 */
+ fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:13025 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13025);
+ }
+ /* parser/parser.nit:13027 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13027);
+ }
+ /* parser/parser.nit:13029 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13029);
+ }
+ /* parser/parser.nit:13030 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:13031 */
+ fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
+ /* parser/parser.nit:13037 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:13038 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13038);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction370___action[] = "parser::ReduceAction370::(parser::ReduceAction::action)";
+void parser___ReduceAction370___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 = 13043;
+ fra.me.meth = LOCATE_parser___ReduceAction370___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13045 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13046 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13047 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13049 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13049);
+ }
+ /* parser/parser.nit:13051 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13051);
+ }
+ /* parser/parser.nit:13052 */
+ fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13057 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13058 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13058);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction371___action[] = "parser::ReduceAction371::(parser::ReduceAction::action)";
+void parser___ReduceAction371___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 = 13063;
+ fra.me.meth = LOCATE_parser___ReduceAction371___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13065 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13066 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13067 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13068 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13070 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AQualified, ID_parser___parser_nodes___AQualified)) /*cast nullable AQualified*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13070);
+ }
+ /* parser/parser.nit:13072 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13072);
+ }
+ /* parser/parser.nit:13074 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13074);
+ }
+ /* parser/parser.nit:13075 */
+ fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13080 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13081 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13081);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction372___action[] = "parser::ReduceAction372::(parser::ReduceAction::action)";
+void parser___ReduceAction372___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 = 13086;
+ fra.me.meth = LOCATE_parser___ReduceAction372___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13088 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13089 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13090 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13091 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13092 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13093 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13095 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13095);
+ }
+ /* parser/parser.nit:13097 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13097);
+ }
+ /* parser/parser.nit:13099 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13099);
+ }
+ /* parser/parser.nit:13100 */
+ fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13105 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13106 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13106);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction373___action[] = "parser::ReduceAction373::(parser::ReduceAction::action)";
+void parser___ReduceAction373___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 = 13111;
+ fra.me.meth = LOCATE_parser___ReduceAction373___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13113 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13114 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13115 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13116 */
+ fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:13118 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13118);
+ }
+ /* parser/parser.nit:13120 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13120);
+ }
+ /* parser/parser.nit:13121 */
+ fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13126 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13127 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13127);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction374___action[] = "parser::ReduceAction374::(parser::ReduceAction::action)";
+void parser___ReduceAction374___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 = 13132;
+ fra.me.meth = LOCATE_parser___ReduceAction374___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13134 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13135 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13136 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13137 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13138 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13139 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13141 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwdebug, ID_parser___parser_nodes___TKwdebug)) /*cast nullable TKwdebug*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13141);
+ }
+ /* parser/parser.nit:13143 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13143);
+ }
+ /* parser/parser.nit:13145 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13145);
+ }
+ /* parser/parser.nit:13147 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13147);
+ }
+ /* parser/parser.nit:13148 */
+ fra.me.REG[4] = NEW_ADebugTypeExpr_parser___parser_prod___ADebugTypeExpr___init_adebugtypeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
+ /* parser/parser.nit:13154 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:13155 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13155);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction375___action[] = "parser::ReduceAction375::(parser::ReduceAction::action)";
+void parser___ReduceAction375___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 = 13160;
+ fra.me.meth = LOCATE_parser___ReduceAction375___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13162 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13163 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13164 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13166 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwlabel, ID_parser___parser_nodes___TKwlabel)) /*cast nullable TKwlabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13166);
+ }
+ /* parser/parser.nit:13168 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13168);
+ }
+ /* parser/parser.nit:13169 */
+ fra.me.REG[3] = NEW_ALabel_parser___parser_prod___ALabel___init_alabel(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13173 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13174 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13174);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction376___action[] = "parser::ReduceAction376::(parser::ReduceAction::action)";
+void parser___ReduceAction376___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 = 13179;
+ fra.me.meth = LOCATE_parser___ReduceAction376___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13181 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13182 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13183 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13185 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:13186 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:13188 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:13189 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13189);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction377___action[] = "parser::ReduceAction377::(parser::ReduceAction::action)";
+void parser___ReduceAction377___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 = 13194;
+ fra.me.meth = LOCATE_parser___ReduceAction377___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13196 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13197 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13198 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13199 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13202 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13202);
+ }
+ /* parser/parser.nit:13203 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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:13204 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:13206 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:13207 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:13208 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13208);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction378___action[] = "parser::ReduceAction378::(parser::ReduceAction::action)";
+void parser___ReduceAction378___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 = 13213;
+ fra.me.meth = LOCATE_parser___ReduceAction378___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13215 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13216 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13217 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13218 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13219 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13220 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13221 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13223 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13223);
+ }
+ /* parser/parser.nit:13225 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13225);
+ }
+ /* parser/parser.nit:13227 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13227);
+ }
+ /* parser/parser.nit:13229 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13229);
+ }
+ /* parser/parser.nit:13231 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13231);
+ }
+ /* parser/parser.nit:13232 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13240 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13241 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13241);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction379___action[] = "parser::ReduceAction379::(parser::ReduceAction::action)";
+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 = 13246;
+ fra.me.meth = LOCATE_parser___ReduceAction379___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13248 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13249 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13250 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13251 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13252 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13253 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13254 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13255 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13256 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13257 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13259 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13259);
+ }
+ /* parser/parser.nit:13261 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13261);
+ }
+ /* parser/parser.nit:13263 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13263);
+ }
+ /* parser/parser.nit:13264 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
+ fra.me.REG[9] = fra.me.REG[6];
+ /* parser/parser.nit:13266 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13266);
+ }
+ /* parser/parser.nit:13268 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13268);
+ }
+ /* parser/parser.nit:13270 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13270);
+ }
+ /* parser/parser.nit:13271 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13279 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13280 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13280);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction380___action[] = "parser::ReduceAction380::(parser::ReduceAction::action)";
+void parser___ReduceAction380___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 = 13285;
+ fra.me.meth = LOCATE_parser___ReduceAction380___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13287 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13288 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13289 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13290 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13291 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13292 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13293 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13294 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13296 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13296);
+ }
+ /* parser/parser.nit:13298 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13298);
+ }
+ /* parser/parser.nit:13300 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13300);
+ }
+ /* parser/parser.nit:13301 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
+ fra.me.REG[9] = fra.me.REG[6];
+ /* parser/parser.nit:13303 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13303);
+ }
+ /* parser/parser.nit:13305 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13305);
+ }
+ /* parser/parser.nit:13307 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13307);
+ }
+ /* parser/parser.nit:13308 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13316 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13317 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13317);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction381___action[] = "parser::ReduceAction381::(parser::ReduceAction::action)";
+void parser___ReduceAction381___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 = 13322;
+ fra.me.meth = LOCATE_parser___ReduceAction381___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13324 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13325 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13326 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13327 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13328 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13329 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13331 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13331);
+ }
+ /* parser/parser.nit:13333 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13333);
+ }
+ /* parser/parser.nit:13335 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13335);
+ }
+ /* parser/parser.nit:13337 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13337);
+ }
+ /* parser/parser.nit:13338 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13346 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13347 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13347);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction382___action[] = "parser::ReduceAction382::(parser::ReduceAction::action)";
+void parser___ReduceAction382___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 = 13352;
+ fra.me.meth = LOCATE_parser___ReduceAction382___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13354 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13355 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13356 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13357 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13358 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13359 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13360 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13361 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13362 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13364 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13364);
+ }
+ /* parser/parser.nit:13366 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13366);
+ }
+ /* parser/parser.nit:13368 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13368);
+ }
+ /* parser/parser.nit:13369 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:13371 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13371);
+ }
+ /* parser/parser.nit:13373 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13373);
+ }
+ /* parser/parser.nit:13374 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13382 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13383 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13383);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction383___action[] = "parser::ReduceAction383::(parser::ReduceAction::action)";
+void parser___ReduceAction383___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 = 13388;
+ fra.me.meth = LOCATE_parser___ReduceAction383___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13390 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13391 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13392 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13393 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13394 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13395 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13396 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13398 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13398);
+ }
+ /* parser/parser.nit:13400 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13400);
+ }
+ /* parser/parser.nit:13402 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13402);
+ }
+ /* parser/parser.nit:13403 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:13405 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13405);
+ }
+ /* parser/parser.nit:13407 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13407);
+ }
+ /* parser/parser.nit:13408 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13416 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13417 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13417);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction384___action[] = "parser::ReduceAction384::(parser::ReduceAction::action)";
+void parser___ReduceAction384___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 = 13422;
+ fra.me.meth = LOCATE_parser___ReduceAction384___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13424 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13425 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13426 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13427 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13428 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13429 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13430 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13432 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13432);
+ }
+ /* parser/parser.nit:13434 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13434);
+ }
+ /* parser/parser.nit:13436 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13436);
+ }
+ /* parser/parser.nit:13437 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13445 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13446 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13446);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction385___action[] = "parser::ReduceAction385::(parser::ReduceAction::action)";
+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 = 13451;
+ fra.me.meth = LOCATE_parser___ReduceAction385___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13453 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13454 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13455 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13456 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13457 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13458 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13459 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13460 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13461 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13462 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13464 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13464);
+ }
+ /* parser/parser.nit:13466 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13466);
+ }
+ /* parser/parser.nit:13468 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13468);
+ }
+ /* parser/parser.nit:13469 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:13471 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13471);
+ }
+ /* parser/parser.nit:13472 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13480 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13481 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13481);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction386___action[] = "parser::ReduceAction386::(parser::ReduceAction::action)";
+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 = 13486;
+ fra.me.meth = LOCATE_parser___ReduceAction386___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13488 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13489 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13490 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13491 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13492 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13493 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13494 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13495 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13497 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13497);
+ }
+ /* parser/parser.nit:13499 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13499);
+ }
+ /* parser/parser.nit:13501 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13501);
+ }
+ /* parser/parser.nit:13502 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:13504 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13504);
+ }
+ /* parser/parser.nit:13505 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13513 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13514 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13514);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction387___action[] = "parser::ReduceAction387::(parser::ReduceAction::action)";
+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 = 13519;
+ fra.me.meth = LOCATE_parser___ReduceAction387___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13521 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13522 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13523 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13524 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13525 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13526 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13527 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13529 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13529);
+ }
+ /* parser/parser.nit:13531 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13531);
+ }
+ /* parser/parser.nit:13533 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13533);
+ }
+ /* parser/parser.nit:13535 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13535);
+ }
+ /* parser/parser.nit:13536 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13544 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13545 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13545);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction388___action[] = "parser::ReduceAction388::(parser::ReduceAction::action)";
+void parser___ReduceAction388___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 = 13550;
+ fra.me.meth = LOCATE_parser___ReduceAction388___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13552 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13553 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13554 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13555 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13556 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13557 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13558 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13559 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13560 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13561 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13563 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13563);
+ }
+ /* parser/parser.nit:13565 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13565);
+ }
+ /* parser/parser.nit:13567 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13567);
+ }
+ /* parser/parser.nit:13568 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:13570 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13570);
+ }
+ /* parser/parser.nit:13572 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13572);
+ }
+ /* parser/parser.nit:13573 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13581 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13582 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13582);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction389___action[] = "parser::ReduceAction389::(parser::ReduceAction::action)";
+void parser___ReduceAction389___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 = 13587;
+ fra.me.meth = LOCATE_parser___ReduceAction389___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13589 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13590 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13591 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13592 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13593 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13594 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13595 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13596 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13598 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13598);
+ }
+ /* parser/parser.nit:13600 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13600);
+ }
+ /* parser/parser.nit:13602 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13602);
+ }
+ /* parser/parser.nit:13603 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
+ fra.me.REG[8] = fra.me.REG[5];
+ /* parser/parser.nit:13605 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13605);
+ }
+ /* parser/parser.nit:13607 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13607);
+ }
+ /* parser/parser.nit:13608 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:13616 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13617 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13617);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction390___action[] = "parser::ReduceAction390::(parser::ReduceAction::action)";
+void parser___ReduceAction390___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 = 13622;
+ fra.me.meth = LOCATE_parser___ReduceAction390___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13624 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13625 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13626 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13627 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13628 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13629 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13631 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13631);
+ }
+ /* parser/parser.nit:13633 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13633);
+ }
+ /* parser/parser.nit:13635 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13635);
+ }
+ /* parser/parser.nit:13636 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:13644 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13645 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13645);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction391___action[] = "parser::ReduceAction391::(parser::ReduceAction::action)";
+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 = 13650;
+ fra.me.meth = LOCATE_parser___ReduceAction391___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13652 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13653 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13654 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13655 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13656 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13657 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13658 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13659 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13660 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13662 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13662);
+ }
+ /* parser/parser.nit:13664 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13664);
+ }
+ /* parser/parser.nit:13666 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13666);
+ }
+ /* parser/parser.nit:13667 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:13669 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13669);
+ }
+ /* parser/parser.nit:13670 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:13678 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13679 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13679);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction392___action[] = "parser::ReduceAction392::(parser::ReduceAction::action)";
+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 = 13684;
+ fra.me.meth = LOCATE_parser___ReduceAction392___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13686 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13687 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13688 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13689 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13690 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13691 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13692 */
+ fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:13694 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13694);
+ }
+ /* parser/parser.nit:13696 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13696);
+ }
+ /* parser/parser.nit:13698 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13698);
+ }
+ /* parser/parser.nit:13699 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
+ fra.me.REG[7] = fra.me.REG[4];
+ /* parser/parser.nit:13701 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13701);
+ }
+ /* parser/parser.nit:13702 */
+ fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:13710 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13711 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13711);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction393___action[] = "parser::ReduceAction393::(parser::ReduceAction::action)";
+void parser___ReduceAction393___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 = 13716;
+ fra.me.meth = LOCATE_parser___ReduceAction393___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13718 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13719 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13721 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13721);
+ }
+ /* parser/parser.nit:13722 */
+ fra.me.REG[3] = NEW_ASimpleClosureId_parser___parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[3]);
+ /* parser/parser.nit:13725 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13726 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13726);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction394___action[] = "parser::ReduceAction394::(parser::ReduceAction::action)";
+void parser___ReduceAction394___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 = 13731;
+ fra.me.meth = LOCATE_parser___ReduceAction394___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13733 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13734 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13736 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13736);
+ }
+ /* parser/parser.nit:13737 */
+ fra.me.REG[3] = NEW_ABreakClosureId_parser___parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[3]);
+ /* parser/parser.nit:13740 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13741 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13741);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction395___action[] = "parser::ReduceAction395::(parser::ReduceAction::action)";
+void parser___ReduceAction395___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 = 13746;
+ fra.me.meth = LOCATE_parser___ReduceAction395___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13748 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13749 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13751 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13751);
+ }
+ /* parser/parser.nit:13752 */
+ fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:13757 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13758 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13758);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction396___action[] = "parser::ReduceAction396::(parser::ReduceAction::action)";
+void parser___ReduceAction396___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 = 13763;
+ fra.me.meth = LOCATE_parser___ReduceAction396___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13765 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13766 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13767 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13769 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13769);
+ }
+ /* parser/parser.nit:13771 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13771);
+ }
+ /* parser/parser.nit:13772 */
+ fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:13779 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13780 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13780);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction397___action[] = "parser::ReduceAction397::(parser::ReduceAction::action)";
+void parser___ReduceAction397___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 = 13785;
+ fra.me.meth = LOCATE_parser___ReduceAction397___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13787 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13788 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13789 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13790 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13792 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13792);
+ }
+ /* parser/parser.nit:13794 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13794);
+ }
+ /* parser/parser.nit:13796 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13796);
+ }
+ /* parser/parser.nit:13797 */
+ fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* parser/parser.nit:13804 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13805 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13805);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction398___action[] = "parser::ReduceAction398::(parser::ReduceAction::action)";
+void parser___ReduceAction398___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 = 13810;
+ fra.me.meth = LOCATE_parser___ReduceAction398___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13812 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13813 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13814 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13815 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13816 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13817 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13819 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13819);
+ }
+ /* parser/parser.nit:13821 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13821);
+ }
+ /* parser/parser.nit:13823 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13823);
+ }
+ /* parser/parser.nit:13825 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13825);
+ }
+ /* parser/parser.nit:13826 */
+ fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13833 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13834 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13834);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction399___action[] = "parser::ReduceAction399::(parser::ReduceAction::action)";
+void parser___ReduceAction399___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 = 13839;
+ fra.me.meth = LOCATE_parser___ReduceAction399___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13841 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13842 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13843 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13844 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13845 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13846 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13847 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13849 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13849);
+ }
+ /* parser/parser.nit:13851 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13851);
+ }
+ /* parser/parser.nit:13853 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13853);
+ }
+ /* parser/parser.nit:13855 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13855);
+ }
+ /* parser/parser.nit:13857 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13857);
+ }
+ /* parser/parser.nit:13858 */
+ fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13865 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13866 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13866);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction400___action[] = "parser::ReduceAction400::(parser::ReduceAction::action)";
+void parser___ReduceAction400___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 = 13871;
+ fra.me.meth = LOCATE_parser___ReduceAction400___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13873 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13874 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13875 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13876 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13877 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13878 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13879 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13881 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13881);
+ }
+ /* parser/parser.nit:13883 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13883);
+ }
+ /* parser/parser.nit:13885 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13885);
+ }
+ /* parser/parser.nit:13887 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13887);
+ }
+ /* parser/parser.nit:13888 */
+ fra.me.REG[3] = NEW_AAttrAssignExpr_parser___parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13894 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13895 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13895);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction401___action[] = "parser::ReduceAction401::(parser::ReduceAction::action)";
+void parser___ReduceAction401___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 = 13900;
+ fra.me.meth = LOCATE_parser___ReduceAction401___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13902 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13903 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13904 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13905 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13906 */
+ fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:13908 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13908);
+ }
+ /* parser/parser.nit:13910 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13910);
+ }
+ /* parser/parser.nit:13912 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13912);
+ }
+ /* parser/parser.nit:13913 */
+ fra.me.REG[3] = NEW_AAttrAssignExpr_parser___parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13919 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13920 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13920);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction402___action[] = "parser::ReduceAction402::(parser::ReduceAction::action)";
+void parser___ReduceAction402___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 = 13925;
+ fra.me.meth = LOCATE_parser___ReduceAction402___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13927 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13928 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13929 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13930 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13931 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13932 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13933 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13934 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13936 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13936);
+ }
+ /* parser/parser.nit:13938 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13938);
+ }
+ /* parser/parser.nit:13940 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13940);
+ }
+ /* parser/parser.nit:13942 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13942);
+ }
+ /* parser/parser.nit:13944 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13944);
+ }
+ /* parser/parser.nit:13945 */
+ fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13952 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13953 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13953);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction403___action[] = "parser::ReduceAction403::(parser::ReduceAction::action)";
+void parser___ReduceAction403___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 = 13958;
+ fra.me.meth = LOCATE_parser___ReduceAction403___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:13960 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13961 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13962 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13963 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13964 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13965 */
+ fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:13967 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13967);
+ }
+ /* parser/parser.nit:13969 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13969);
+ }
+ /* parser/parser.nit:13971 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13971);
+ }
+ /* parser/parser.nit:13973 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13973);
+ }
+ /* parser/parser.nit:13974 */
+ fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:13981 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:13982 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13982);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction404___action[] = "parser::ReduceAction404::(parser::ReduceAction::action)";
+void parser___ReduceAction404___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 = 13987;
+ fra.me.meth = LOCATE_parser___ReduceAction404___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:13989 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:13990 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13991 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13992 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13993 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:13995 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13995);
+ }
+ /* parser/parser.nit:13997 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13997);
+ }
+ /* parser/parser.nit:13999 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 13999);
+ }
+ /* parser/parser.nit:14001 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14001);
+ }
+ /* parser/parser.nit:14002 */
+ fra.me.REG[3] = NEW_ABraAssignExpr_parser___parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14008 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14009 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14009);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction405___action[] = "parser::ReduceAction405::(parser::ReduceAction::action)";
+void parser___ReduceAction405___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 = 14014;
+ fra.me.meth = LOCATE_parser___ReduceAction405___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14016 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14017 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14018 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14019 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14020 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14021 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14022 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14024 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14024);
+ }
+ /* parser/parser.nit:14026 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14026);
+ }
+ /* parser/parser.nit:14028 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14028);
+ }
+ /* parser/parser.nit:14030 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14030);
+ }
+ /* parser/parser.nit:14031 */
+ fra.me.REG[3] = NEW_AAttrReassignExpr_parser___parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14037 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14038 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14038);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction406___action[] = "parser::ReduceAction406::(parser::ReduceAction::action)";
+void parser___ReduceAction406___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 = 14043;
+ fra.me.meth = LOCATE_parser___ReduceAction406___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14045 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14046 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14047 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14048 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14049 */
+ fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:14051 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14051);
+ }
+ /* parser/parser.nit:14053 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14053);
+ }
+ /* parser/parser.nit:14055 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14055);
+ }
+ /* parser/parser.nit:14056 */
+ fra.me.REG[3] = NEW_AAttrReassignExpr_parser___parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14062 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14063 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14063);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction407___action[] = "parser::ReduceAction407::(parser::ReduceAction::action)";
+void parser___ReduceAction407___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 = 14068;
+ fra.me.meth = LOCATE_parser___ReduceAction407___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:14070 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14071 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14072 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14073 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14074 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14075 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14076 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14077 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14079 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14079);
+ }
+ /* parser/parser.nit:14081 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14081);
+ }
+ /* parser/parser.nit:14083 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14083);
+ }
+ /* parser/parser.nit:14085 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14085);
+ }
+ /* parser/parser.nit:14087 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14087);
+ }
+ /* parser/parser.nit:14088 */
+ fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14095 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14096 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14096);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction408___action[] = "parser::ReduceAction408::(parser::ReduceAction::action)";
+void parser___ReduceAction408___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 = 14101;
+ fra.me.meth = LOCATE_parser___ReduceAction408___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:14103 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14104 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14105 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14106 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14107 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14108 */
+ fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:14110 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14110);
+ }
+ /* parser/parser.nit:14112 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14112);
+ }
+ /* parser/parser.nit:14114 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14114);
+ }
+ /* parser/parser.nit:14116 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14116);
+ }
+ /* parser/parser.nit:14117 */
+ fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14124 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14125 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14125);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction409___action[] = "parser::ReduceAction409::(parser::ReduceAction::action)";
+void parser___ReduceAction409___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 = 14130;
+ fra.me.meth = LOCATE_parser___ReduceAction409___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14132 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14133 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14134 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14135 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14136 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14138 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14138);
+ }
+ /* parser/parser.nit:14140 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14140);
+ }
+ /* parser/parser.nit:14142 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14142);
+ }
+ /* parser/parser.nit:14144 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14144);
+ }
+ /* parser/parser.nit:14145 */
+ fra.me.REG[3] = NEW_ABraReassignExpr_parser___parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14151 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14152 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14152);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction410___action[] = "parser::ReduceAction410::(parser::ReduceAction::action)";
+void parser___ReduceAction410___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 = 14157;
+ fra.me.meth = LOCATE_parser___ReduceAction410___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14159 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14160 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14162 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPluseq, ID_parser___parser_nodes___TPluseq)) /*cast nullable TPluseq*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14162);
+ }
+ /* parser/parser.nit:14163 */
+ fra.me.REG[3] = NEW_APlusAssignOp_parser___parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[3]);
+ /* parser/parser.nit:14166 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14167 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14167);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction411___action[] = "parser::ReduceAction411::(parser::ReduceAction::action)";
+void parser___ReduceAction411___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 = 14172;
+ fra.me.meth = LOCATE_parser___ReduceAction411___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14174 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14175 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14177 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMinuseq, ID_parser___parser_nodes___TMinuseq)) /*cast nullable TMinuseq*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14177);
+ }
+ /* parser/parser.nit:14178 */
+ fra.me.REG[3] = NEW_AMinusAssignOp_parser___parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[3]);
+ /* parser/parser.nit:14181 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14182 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14182);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction412___action[] = "parser::ReduceAction412::(parser::ReduceAction::action)";
+void parser___ReduceAction412___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 = 14187;
+ fra.me.meth = LOCATE_parser___ReduceAction412___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14189 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14190 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14191 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14192 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14194 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14194);
+ }
+ /* parser/parser.nit:14196 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14196);
+ }
+ /* parser/parser.nit:14198 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14198);
+ }
+ /* parser/parser.nit:14199 */
+ fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14204 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14205 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14205);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction413___action[] = "parser::ReduceAction413::(parser::ReduceAction::action)";
+void parser___ReduceAction413___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 = 14210;
+ fra.me.meth = LOCATE_parser___ReduceAction413___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14212 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14213 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14214 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14216 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14216);
+ }
+ /* parser/parser.nit:14218 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14218);
+ }
+ /* parser/parser.nit:14219 */
+ fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14224 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14225 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14225);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction414___action[] = "parser::ReduceAction414::(parser::ReduceAction::action)";
+void parser___ReduceAction414___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 = 14230;
+ fra.me.meth = LOCATE_parser___ReduceAction414___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14232 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14233 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14234 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14235 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14236 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14237 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14238 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14239 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14240 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14242 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14242);
+ }
+ /* parser/parser.nit:14244 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14244);
+ }
+ /* parser/parser.nit:14246 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14246);
+ }
+ /* parser/parser.nit:14248 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14248);
+ }
+ /* parser/parser.nit:14249 */
+ fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14255 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14256 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14256);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction415___action[] = "parser::ReduceAction415::(parser::ReduceAction::action)";
+void parser___ReduceAction415___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 = 14261;
+ fra.me.meth = LOCATE_parser___ReduceAction415___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14263 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14264 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14265 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14266 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14267 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14268 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14269 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14271 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14271);
+ }
+ /* parser/parser.nit:14273 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14273);
+ }
+ /* parser/parser.nit:14275 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14275);
+ }
+ /* parser/parser.nit:14276 */
+ fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14282 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14283 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14283);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction416___action[] = "parser::ReduceAction416::(parser::ReduceAction::action)";
+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 = 14288;
+ fra.me.meth = LOCATE_parser___ReduceAction416___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14290 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14291 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14292 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14293 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14294 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14295 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14296 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14297 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14298 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14300 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14300);
+ }
+ /* parser/parser.nit:14302 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14302);
+ }
+ /* parser/parser.nit:14304 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14304);
+ }
+ /* parser/parser.nit:14306 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14306);
+ }
+ /* parser/parser.nit:14307 */
+ fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14313 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14314 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14314);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction417___action[] = "parser::ReduceAction417::(parser::ReduceAction::action)";
+void parser___ReduceAction417___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 = 14319;
+ fra.me.meth = LOCATE_parser___ReduceAction417___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14321 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14322 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14323 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14324 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14325 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14326 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14327 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14329 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14329);
+ }
+ /* parser/parser.nit:14331 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14331);
+ }
+ /* parser/parser.nit:14333 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14333);
+ }
+ /* parser/parser.nit:14334 */
+ fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:14340 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14341 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14341);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction418___action[] = "parser::ReduceAction418::(parser::ReduceAction::action)";
+void parser___ReduceAction418___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 = 14346;
+ fra.me.meth = LOCATE_parser___ReduceAction418___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14348 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14349 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14350 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14351 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14352 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14353 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14354 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14355 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14357 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14357);
+ }
+ /* parser/parser.nit:14359 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14359);
+ }
+ /* parser/parser.nit:14361 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14361);
+ }
+ /* parser/parser.nit:14362 */
+ fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:14368 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14369 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14369);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction421___action[] = "parser::ReduceAction421::(parser::ReduceAction::action)";
+void parser___ReduceAction421___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 = 14374;
+ fra.me.meth = LOCATE_parser___ReduceAction421___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14376 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14377 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14378 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14379 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14381 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwloop, ID_parser___parser_nodes___TKwloop)) /*cast nullable TKwloop*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14381);
+ }
+ /* parser/parser.nit:14383 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14383);
+ }
+ /* parser/parser.nit:14385 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14385);
+ }
+ /* parser/parser.nit:14386 */
+ fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14391 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14392 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14392);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction422___action[] = "parser::ReduceAction422::(parser::ReduceAction::action)";
+void parser___ReduceAction422___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 = 14397;
+ fra.me.meth = LOCATE_parser___ReduceAction422___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14399 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14400 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14401 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14403 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwloop, ID_parser___parser_nodes___TKwloop)) /*cast nullable TKwloop*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14403);
+ }
+ /* parser/parser.nit:14405 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14405);
+ }
+ /* parser/parser.nit:14406 */
+ fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14411 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14412 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14412);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction423___action[] = "parser::ReduceAction423::(parser::ReduceAction::action)";
+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 = 14417;
+ fra.me.meth = LOCATE_parser___ReduceAction423___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:14419 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14420 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14421 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14422 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14423 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14424 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14425 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14426 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14428 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwwhile, ID_parser___parser_nodes___TKwwhile)) /*cast nullable TKwwhile*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14428);
+ }
+ /* parser/parser.nit:14430 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14430);
+ }
+ /* parser/parser.nit:14432 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14432);
+ }
+ /* parser/parser.nit:14434 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14434);
+ }
+ /* parser/parser.nit:14436 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14436);
+ }
+ /* parser/parser.nit:14437 */
+ fra.me.REG[3] = NEW_AWhileExpr_parser___parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14444 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14445 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14445);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction424___action[] = "parser::ReduceAction424::(parser::ReduceAction::action)";
+void parser___ReduceAction424___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 = 14450;
+ fra.me.meth = LOCATE_parser___ReduceAction424___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14452 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14453 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14454 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14455 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14456 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14457 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14458 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14460 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwwhile, ID_parser___parser_nodes___TKwwhile)) /*cast nullable TKwwhile*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14460);
+ }
+ /* parser/parser.nit:14462 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14462);
+ }
+ /* parser/parser.nit:14464 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14464);
+ }
+ /* parser/parser.nit:14466 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14466);
+ }
+ /* parser/parser.nit:14467 */
+ fra.me.REG[3] = NEW_AWhileExpr_parser___parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14474 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14475 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14475);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction425___action[] = "parser::ReduceAction425::(parser::ReduceAction::action)";
+void parser___ReduceAction425___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 = 14480;
+ fra.me.meth = LOCATE_parser___ReduceAction425___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14482 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14483 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14484 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14485 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14486 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14487 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14488 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14489 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14490 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14491 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14492 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14493 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14494 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14495 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14496 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:14498 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14498);
+ }
+ /* parser/parser.nit:14500 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14500);
+ }
+ /* parser/parser.nit:14501 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
+ fra.me.REG[9] = fra.me.REG[7];
+ /* parser/parser.nit:14503 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14503);
+ }
+ /* parser/parser.nit:14505 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14505);
+ }
+ /* parser/parser.nit:14507 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14507);
+ }
+ /* parser/parser.nit:14509 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14509);
+ }
+ /* parser/parser.nit:14510 */
+ fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[9], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14518 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14519 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14519);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction426___action[] = "parser::ReduceAction426::(parser::ReduceAction::action)";
+void parser___ReduceAction426___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 = 14524;
+ fra.me.meth = LOCATE_parser___ReduceAction426___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14526 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14527 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14528 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14529 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14530 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14531 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14532 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14533 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14534 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14535 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14536 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14537 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14538 */
+ fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:14540 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14540);
+ }
+ /* parser/parser.nit:14542 */
+ REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14542);
+ }
+ /* parser/parser.nit:14543 */
+ fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
+ fra.me.REG[9] = fra.me.REG[7];
+ /* parser/parser.nit:14545 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14545);
+ }
+ /* parser/parser.nit:14547 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14547);
+ }
+ /* parser/parser.nit:14549 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14549);
+ }
+ /* parser/parser.nit:14551 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14551);
+ }
+ /* parser/parser.nit:14552 */
+ fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[9], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14560 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14561 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14561);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction427___action[] = "parser::ReduceAction427::(parser::ReduceAction::action)";
+void parser___ReduceAction427___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 = 14566;
+ fra.me.meth = LOCATE_parser___ReduceAction427___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14568 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14569 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14570 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14571 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14572 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14573 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14574 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14575 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14576 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14577 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14578 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14579 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14580 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14581 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:14583 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14583);
+ }
+ /* parser/parser.nit:14585 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14585);
+ }
+ /* parser/parser.nit:14586 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:14588 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14588);
+ }
+ /* parser/parser.nit:14590 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14590);
+ }
+ /* parser/parser.nit:14592 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14592);
+ }
+ /* parser/parser.nit:14593 */
+ fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14601 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14602 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14602);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction428___action[] = "parser::ReduceAction428::(parser::ReduceAction::action)";
+void parser___ReduceAction428___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 = 14607;
+ fra.me.meth = LOCATE_parser___ReduceAction428___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14609 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14610 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14611 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14612 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14613 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14614 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14615 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14616 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14617 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14618 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14619 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14620 */
+ fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:14622 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14622);
+ }
+ /* parser/parser.nit:14624 */
+ REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14624);
+ }
+ /* parser/parser.nit:14625 */
+ fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
+ fra.me.REG[8] = fra.me.REG[6];
+ /* parser/parser.nit:14627 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14627);
+ }
+ /* parser/parser.nit:14629 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14629);
+ }
+ /* parser/parser.nit:14631 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14631);
+ }
+ /* parser/parser.nit:14632 */
+ fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14640 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14641 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14641);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction429___action[] = "parser::ReduceAction429::(parser::ReduceAction::action)";
+void parser___ReduceAction429___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 = 14646;
+ fra.me.meth = LOCATE_parser___ReduceAction429___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14648 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14649 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14650 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14651 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14652 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14654 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14654);
+ }
+ /* parser/parser.nit:14656 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14656);
+ }
+ /* parser/parser.nit:14658 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14658);
+ }
+ /* parser/parser.nit:14659 */
+ fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14665 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14666 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14666);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction430___action[] = "parser::ReduceAction430::(parser::ReduceAction::action)";
+void parser___ReduceAction430___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 = 14671;
+ fra.me.meth = LOCATE_parser___ReduceAction430___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14673 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14674 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14675 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14676 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14677 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14678 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14680 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14680);
+ }
+ /* parser/parser.nit:14682 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14682);
+ }
+ /* parser/parser.nit:14684 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14684);
+ }
+ /* parser/parser.nit:14686 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14686);
+ }
+ /* parser/parser.nit:14687 */
+ fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14693 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14694 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14694);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction431___action[] = "parser::ReduceAction431::(parser::ReduceAction::action)";
+void parser___ReduceAction431___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 = 14699;
+ fra.me.meth = LOCATE_parser___ReduceAction431___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14701 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14702 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14703 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14705 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14705);
+ }
+ /* parser/parser.nit:14707 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14707);
+ }
+ /* parser/parser.nit:14708 */
+ fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14714 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14715 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14715);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction432___action[] = "parser::ReduceAction432::(parser::ReduceAction::action)";
+void parser___ReduceAction432___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 = 14720;
+ fra.me.meth = LOCATE_parser___ReduceAction432___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14722 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14723 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14724 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14725 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14727 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14727);
+ }
+ /* parser/parser.nit:14729 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14729);
+ }
+ /* parser/parser.nit:14731 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14731);
+ }
+ /* parser/parser.nit:14732 */
+ fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* parser/parser.nit:14738 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14739 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14739);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction433___action[] = "parser::ReduceAction433::(parser::ReduceAction::action)";
+void parser___ReduceAction433___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 = 14744;
+ fra.me.meth = LOCATE_parser___ReduceAction433___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14746 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14747 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14748 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14750 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14751 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14751);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction437___action[] = "parser::ReduceAction437::(parser::ReduceAction::action)";
+void parser___ReduceAction437___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 = 14756;
+ fra.me.meth = LOCATE_parser___ReduceAction437___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14758 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14759 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14760 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14761 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14762 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:14764 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14764);
+ }
+ /* parser/parser.nit:14766 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14766);
+ }
+ /* parser/parser.nit:14768 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14768);
+ }
+ /* parser/parser.nit:14769 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* parser/parser.nit:14770 */
+ fra.me.REG[6] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
+ /* parser/parser.nit:14775 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:14776 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14776);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction439___action[] = "parser::ReduceAction439::(parser::ReduceAction::action)";
+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 = 14781;
+ fra.me.meth = LOCATE_parser___ReduceAction439___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14783 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14784 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14785 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14786 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14787 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14788 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14789 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14790 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14791 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14792 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14793 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14794 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14796 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14796);
+ }
+ /* parser/parser.nit:14798 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14798);
+ }
+ /* parser/parser.nit:14800 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwthen, ID_parser___parser_nodes___TKwthen)) /*cast nullable TKwthen*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14800);
+ }
+ /* parser/parser.nit:14802 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14802);
+ }
+ /* parser/parser.nit:14804 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwelse, ID_parser___parser_nodes___TKwelse)) /*cast nullable TKwelse*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14804);
+ }
+ /* parser/parser.nit:14806 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14806);
+ }
+ /* parser/parser.nit:14807 */
+ fra.me.REG[3] = NEW_AIfexprExpr_parser___parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14815 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14816 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14816);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction441___action[] = "parser::ReduceAction441::(parser::ReduceAction::action)";
+void parser___ReduceAction441___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 = 14821;
+ fra.me.meth = LOCATE_parser___ReduceAction441___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14823 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14824 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14825 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14826 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14827 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14829 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14829);
+ }
+ /* parser/parser.nit:14831 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14831);
+ }
+ /* parser/parser.nit:14832 */
+ fra.me.REG[3] = NEW_AOrExpr_parser___parser_prod___AOrExpr___init_aorexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14836 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14837 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14837);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction442___action[] = "parser::ReduceAction442::(parser::ReduceAction::action)";
+void parser___ReduceAction442___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 = 14842;
+ fra.me.meth = LOCATE_parser___ReduceAction442___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14844 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14845 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14846 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14847 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14848 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14850 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14850);
+ }
+ /* parser/parser.nit:14852 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14852);
+ }
+ /* parser/parser.nit:14853 */
+ fra.me.REG[3] = NEW_AAndExpr_parser___parser_prod___AAndExpr___init_aandexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14857 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14858 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14858);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction443___action[] = "parser::ReduceAction443::(parser::ReduceAction::action)";
+void parser___ReduceAction443___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 = 14863;
+ fra.me.meth = LOCATE_parser___ReduceAction443___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14865 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14866 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14867 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14868 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14869 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14870 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14872 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14872);
+ }
+ /* parser/parser.nit:14874 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14874);
+ }
+ /* parser/parser.nit:14875 */
+ fra.me.REG[3] = NEW_AOrElseExpr_parser___parser_prod___AOrElseExpr___init_aorelseexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14879 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14880 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14880);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction445___action[] = "parser::ReduceAction445::(parser::ReduceAction::action)";
+void parser___ReduceAction445___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 = 14885;
+ fra.me.meth = LOCATE_parser___ReduceAction445___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14887 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14888 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14889 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14890 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14892 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14892);
+ }
+ /* parser/parser.nit:14894 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14894);
+ }
+ /* parser/parser.nit:14895 */
+ fra.me.REG[3] = NEW_ANotExpr_parser___parser_prod___ANotExpr___init_anotexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14899 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14900 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14900);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction447___action[] = "parser::ReduceAction447::(parser::ReduceAction::action)";
+void parser___ReduceAction447___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 = 14905;
+ fra.me.meth = LOCATE_parser___ReduceAction447___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14907 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14908 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14909 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14910 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14911 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14913 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14913);
+ }
+ /* parser/parser.nit:14915 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14915);
+ }
+ /* parser/parser.nit:14916 */
+ fra.me.REG[3] = NEW_AEqExpr_parser___parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14920 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14921 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14921);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction448___action[] = "parser::ReduceAction448::(parser::ReduceAction::action)";
+void parser___ReduceAction448___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 = 14926;
+ fra.me.meth = LOCATE_parser___ReduceAction448___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14928 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14929 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14930 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14931 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14932 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14934 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14934);
+ }
+ /* parser/parser.nit:14936 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14936);
+ }
+ /* parser/parser.nit:14937 */
+ fra.me.REG[3] = NEW_AEeExpr_parser___parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14941 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14942 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14942);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction449___action[] = "parser::ReduceAction449::(parser::ReduceAction::action)";
+void parser___ReduceAction449___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 = 14947;
+ fra.me.meth = LOCATE_parser___ReduceAction449___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14949 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14950 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14951 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14952 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14953 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14955 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14955);
+ }
+ /* parser/parser.nit:14957 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14957);
+ }
+ /* parser/parser.nit:14958 */
+ fra.me.REG[3] = NEW_ANeExpr_parser___parser_prod___ANeExpr___init_aneexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14962 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14963 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14963);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction450___action[] = "parser::ReduceAction450::(parser::ReduceAction::action)";
+void parser___ReduceAction450___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 = 14968;
+ fra.me.meth = LOCATE_parser___ReduceAction450___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14970 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14971 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14972 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14973 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14974 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14976 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14976);
+ }
+ /* parser/parser.nit:14978 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14978);
+ }
+ /* parser/parser.nit:14979 */
+ fra.me.REG[3] = NEW_ALtExpr_parser___parser_prod___ALtExpr___init_altexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:14983 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:14984 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14984);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction451___action[] = "parser::ReduceAction451::(parser::ReduceAction::action)";
+void parser___ReduceAction451___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 = 14989;
+ fra.me.meth = LOCATE_parser___ReduceAction451___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:14991 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:14992 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14993 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14994 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14995 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:14997 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14997);
+ }
+ /* parser/parser.nit:14999 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 14999);
+ }
+ /* parser/parser.nit:15000 */
+ fra.me.REG[3] = NEW_ALeExpr_parser___parser_prod___ALeExpr___init_aleexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15004 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15005 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15005);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction452___action[] = "parser::ReduceAction452::(parser::ReduceAction::action)";
+void parser___ReduceAction452___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 = 15010;
+ fra.me.meth = LOCATE_parser___ReduceAction452___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15012 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15013 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15014 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15015 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15016 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15018 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15018);
+ }
+ /* parser/parser.nit:15020 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15020);
+ }
+ /* parser/parser.nit:15021 */
+ fra.me.REG[3] = NEW_ALlExpr_parser___parser_prod___ALlExpr___init_allexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15025 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15026 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15026);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction453___action[] = "parser::ReduceAction453::(parser::ReduceAction::action)";
+void parser___ReduceAction453___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 = 15031;
+ fra.me.meth = LOCATE_parser___ReduceAction453___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15033 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15034 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15035 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15036 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15037 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15039 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15039);
+ }
+ /* parser/parser.nit:15041 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15041);
+ }
+ /* parser/parser.nit:15042 */
+ fra.me.REG[3] = NEW_AGtExpr_parser___parser_prod___AGtExpr___init_agtexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15046 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15047 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15047);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction454___action[] = "parser::ReduceAction454::(parser::ReduceAction::action)";
+void parser___ReduceAction454___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 = 15052;
+ fra.me.meth = LOCATE_parser___ReduceAction454___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15054 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15055 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15056 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15057 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15058 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15060 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15060);
+ }
+ /* parser/parser.nit:15062 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15062);
+ }
+ /* parser/parser.nit:15063 */
+ fra.me.REG[3] = NEW_AGeExpr_parser___parser_prod___AGeExpr___init_ageexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15067 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15068 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15068);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction455___action[] = "parser::ReduceAction455::(parser::ReduceAction::action)";
+void parser___ReduceAction455___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 = 15073;
+ fra.me.meth = LOCATE_parser___ReduceAction455___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15075 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15076 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15077 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15078 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15079 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15081 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15081);
+ }
+ /* parser/parser.nit:15083 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15083);
+ }
+ /* parser/parser.nit:15084 */
+ fra.me.REG[3] = NEW_AGgExpr_parser___parser_prod___AGgExpr___init_aggexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15088 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15089 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15089);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction456___action[] = "parser::ReduceAction456::(parser::ReduceAction::action)";
+void parser___ReduceAction456___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 = 15094;
+ fra.me.meth = LOCATE_parser___ReduceAction456___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15096 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15097 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15098 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15099 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15100 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15102 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15102);
+ }
+ /* parser/parser.nit:15104 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15104);
+ }
+ /* parser/parser.nit:15105 */
+ fra.me.REG[3] = NEW_AStarshipExpr_parser___parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15109 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15110 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15110);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction457___action[] = "parser::ReduceAction457::(parser::ReduceAction::action)";
+void parser___ReduceAction457___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 = 15115;
+ fra.me.meth = LOCATE_parser___ReduceAction457___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15117 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15118 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15119 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15120 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15121 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15123 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15123);
+ }
+ /* parser/parser.nit:15125 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15125);
+ }
+ /* parser/parser.nit:15126 */
+ fra.me.REG[3] = NEW_AIsaExpr_parser___parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15130 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15131 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15131);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction459___action[] = "parser::ReduceAction459::(parser::ReduceAction::action)";
+void parser___ReduceAction459___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 = 15136;
+ fra.me.meth = LOCATE_parser___ReduceAction459___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15138 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15139 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15140 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15141 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15142 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15144 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15144);
+ }
+ /* parser/parser.nit:15146 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15146);
+ }
+ /* parser/parser.nit:15147 */
+ fra.me.REG[3] = NEW_APlusExpr_parser___parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15151 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15152 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15152);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction460___action[] = "parser::ReduceAction460::(parser::ReduceAction::action)";
+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 = 15157;
+ fra.me.meth = LOCATE_parser___ReduceAction460___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15159 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15160 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15161 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15162 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15163 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15165 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15165);
+ }
+ /* parser/parser.nit:15167 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15167);
+ }
+ /* parser/parser.nit:15168 */
+ fra.me.REG[3] = NEW_AMinusExpr_parser___parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15172 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15173 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15173);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction462___action[] = "parser::ReduceAction462::(parser::ReduceAction::action)";
+void parser___ReduceAction462___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 = 15178;
+ fra.me.meth = LOCATE_parser___ReduceAction462___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15180 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15181 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15182 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15183 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15184 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15186 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15186);
+ }
+ /* parser/parser.nit:15188 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15188);
+ }
+ /* parser/parser.nit:15189 */
+ fra.me.REG[3] = NEW_AStarExpr_parser___parser_prod___AStarExpr___init_astarexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15193 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15194 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15194);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction463___action[] = "parser::ReduceAction463::(parser::ReduceAction::action)";
+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 = 15199;
+ fra.me.meth = LOCATE_parser___ReduceAction463___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15201 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15202 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15203 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15204 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15205 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15207 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15207);
+ }
+ /* parser/parser.nit:15209 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15209);
+ }
+ /* parser/parser.nit:15210 */
+ fra.me.REG[3] = NEW_ASlashExpr_parser___parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15214 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15215 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15215);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction464___action[] = "parser::ReduceAction464::(parser::ReduceAction::action)";
+void parser___ReduceAction464___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 = 15220;
+ fra.me.meth = LOCATE_parser___ReduceAction464___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15222 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15223 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15224 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15225 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15226 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15228 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15228);
+ }
+ /* parser/parser.nit:15230 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15230);
+ }
+ /* parser/parser.nit:15231 */
+ fra.me.REG[3] = NEW_APercentExpr_parser___parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15235 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15236 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15236);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction466___action[] = "parser::ReduceAction466::(parser::ReduceAction::action)";
+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 = 15241;
+ fra.me.meth = LOCATE_parser___ReduceAction466___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15243 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15244 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15245 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15246 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15248 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TMinus, ID_parser___parser_nodes___TMinus)) /*cast nullable TMinus*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15248);
+ }
+ /* parser/parser.nit:15250 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15250);
+ }
+ /* parser/parser.nit:15251 */
+ fra.me.REG[3] = NEW_AUminusExpr_parser___parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15255 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15256 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15256);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction467___action[] = "parser::ReduceAction467::(parser::ReduceAction::action)";
+void parser___ReduceAction467___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 = 15261;
+ fra.me.meth = LOCATE_parser___ReduceAction467___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15263 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15264 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15265 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15266 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15268 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwonce, ID_parser___parser_nodes___TKwonce)) /*cast nullable TKwonce*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15268);
+ }
+ /* parser/parser.nit:15270 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15270);
+ }
+ /* parser/parser.nit:15271 */
+ fra.me.REG[3] = NEW_AOnceExpr_parser___parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15275 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15276 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15276);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction469___action[] = "parser::ReduceAction469::(parser::ReduceAction::action)";
+void parser___ReduceAction469___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 = 15281;
+ fra.me.meth = LOCATE_parser___ReduceAction469___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15283 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15284 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15285 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15286 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15287 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15289 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15289);
+ }
+ /* parser/parser.nit:15291 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15291);
+ }
+ /* parser/parser.nit:15293 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15293);
+ }
+ /* parser/parser.nit:15294 */
+ fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* parser/parser.nit:15300 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15301 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15301);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction470___action[] = "parser::ReduceAction470::(parser::ReduceAction::action)";
+void parser___ReduceAction470___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 = 15306;
+ fra.me.meth = LOCATE_parser___ReduceAction470___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15308 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15309 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15310 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15311 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15312 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15313 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15315 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15315);
+ }
+ /* parser/parser.nit:15317 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15317);
+ }
+ /* parser/parser.nit:15319 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15319);
+ }
+ /* parser/parser.nit:15320 */
+ fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15325 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15326 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15326);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction471___action[] = "parser::ReduceAction471::(parser::ReduceAction::action)";
+void parser___ReduceAction471___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 = 15331;
+ fra.me.meth = LOCATE_parser___ReduceAction471___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15333 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15334 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15335 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15337 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15337);
+ }
+ /* parser/parser.nit:15338 */
+ fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:15340 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15340);
+ }
+ /* parser/parser.nit:15341 */
+ fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:15346 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15347 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15347);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction472___action[] = "parser::ReduceAction472::(parser::ReduceAction::action)";
+void parser___ReduceAction472___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 = 15352;
+ fra.me.meth = LOCATE_parser___ReduceAction472___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15354 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15355 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15356 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15357 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15358 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15360 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15360);
+ }
+ /* parser/parser.nit:15362 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15362);
+ }
+ /* parser/parser.nit:15363 */
+ fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15367 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15368 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15368);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction473___action[] = "parser::ReduceAction473::(parser::ReduceAction::action)";
+void parser___ReduceAction473___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 = 15373;
+ fra.me.meth = LOCATE_parser___ReduceAction473___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15375 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15376 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15377 */
+ fra.me.REG[4] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:15379 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15379);
+ }
+ /* parser/parser.nit:15380 */
+ fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15384 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15385 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15385);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction480___action[] = "parser::ReduceAction480::(parser::ReduceAction::action)";
+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 = 15390;
+ fra.me.meth = LOCATE_parser___ReduceAction480___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15392 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15393 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15394 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15395 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15397 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15397);
+ }
+ /* parser/parser.nit:15399 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15399);
+ }
+ /* parser/parser.nit:15400 */
+ fra.me.REG[5] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ /* parser/parser.nit:15405 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:15406 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15406);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction481___action[] = "parser::ReduceAction481::(parser::ReduceAction::action)";
+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 = 15411;
+ fra.me.meth = LOCATE_parser___ReduceAction481___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15413 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15414 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15415 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15416 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15417 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15418 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15419 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15420 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15422 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15422);
+ }
+ /* parser/parser.nit:15424 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15424);
+ }
+ /* parser/parser.nit:15426 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15426);
+ }
+ /* parser/parser.nit:15428 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15428);
+ }
+ /* parser/parser.nit:15429 */
+ fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15435 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15436 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15436);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction482___action[] = "parser::ReduceAction482::(parser::ReduceAction::action)";
+void parser___ReduceAction482___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 = 15441;
+ fra.me.meth = LOCATE_parser___ReduceAction482___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15443 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15444 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15445 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15446 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15447 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15448 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15449 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15450 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15451 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15452 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15454 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15454);
+ }
+ /* parser/parser.nit:15456 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15456);
+ }
+ /* parser/parser.nit:15458 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15458);
+ }
+ /* parser/parser.nit:15460 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15460);
+ }
+ /* parser/parser.nit:15461 */
+ fra.me.REG[3] = NEW_ACrangeExpr_parser___parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15467 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15468 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15468);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction483___action[] = "parser::ReduceAction483::(parser::ReduceAction::action)";
+void parser___ReduceAction483___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 = 15473;
+ fra.me.meth = LOCATE_parser___ReduceAction483___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15475 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15476 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15477 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15478 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15479 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15480 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15481 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15482 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15483 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15484 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15486 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15486);
+ }
+ /* parser/parser.nit:15488 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15488);
+ }
+ /* parser/parser.nit:15490 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15490);
+ }
+ /* parser/parser.nit:15492 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15492);
+ }
+ /* parser/parser.nit:15493 */
+ fra.me.REG[3] = NEW_AOrangeExpr_parser___parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15499 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15500 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15500);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction484___action[] = "parser::ReduceAction484::(parser::ReduceAction::action)";
+void parser___ReduceAction484___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 = 15505;
+ fra.me.meth = LOCATE_parser___ReduceAction484___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15507 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15508 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15510 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15510);
+ }
+ /* parser/parser.nit:15511 */
+ fra.me.REG[3] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15514 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15515 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15515);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction485___action[] = "parser::ReduceAction485::(parser::ReduceAction::action)";
+void parser___ReduceAction485___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 = 15520;
+ fra.me.meth = LOCATE_parser___ReduceAction485___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15522 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15523 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15525 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwself, ID_parser___parser_nodes___TKwself)) /*cast nullable TKwself*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15525);
+ }
+ /* parser/parser.nit:15526 */
+ fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15529 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15530 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15530);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction486___action[] = "parser::ReduceAction486::(parser::ReduceAction::action)";
+void parser___ReduceAction486___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 = 15535;
+ fra.me.meth = LOCATE_parser___ReduceAction486___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15537 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15538 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15540 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwtrue, ID_parser___parser_nodes___TKwtrue)) /*cast nullable TKwtrue*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15540);
+ }
+ /* parser/parser.nit:15541 */
+ fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15544 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15545 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15545);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction487___action[] = "parser::ReduceAction487::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15550;
+ fra.me.meth = LOCATE_parser___ReduceAction487___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15552 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15553 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15555 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwfalse, ID_parser___parser_nodes___TKwfalse)) /*cast nullable TKwfalse*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15555);
+ }
+ /* parser/parser.nit:15556 */
+ fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15559 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15560 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15560);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction488___action[] = "parser::ReduceAction488::(parser::ReduceAction::action)";
+void parser___ReduceAction488___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 = 15565;
+ fra.me.meth = LOCATE_parser___ReduceAction488___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15567 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15568 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15570 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnull, ID_parser___parser_nodes___TKwnull)) /*cast nullable TKwnull*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15570);
+ }
+ /* parser/parser.nit:15571 */
+ fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15574 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15575 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15575);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction489___action[] = "parser::ReduceAction489::(parser::ReduceAction::action)";
+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 = 15580;
+ fra.me.meth = LOCATE_parser___ReduceAction489___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15582 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15583 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15585 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TNumber, ID_parser___parser_nodes___TNumber)) /*cast nullable TNumber*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15585);
+ }
+ /* parser/parser.nit:15586 */
+ fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15589 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15590 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15590);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction490___action[] = "parser::ReduceAction490::(parser::ReduceAction::action)";
+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 = 15595;
+ fra.me.meth = LOCATE_parser___ReduceAction490___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15597 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15598 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15600 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TFloat, ID_parser___parser_nodes___TFloat)) /*cast nullable TFloat*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15600);
+ }
+ /* parser/parser.nit:15601 */
+ fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15604 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15605 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15605);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction491___action[] = "parser::ReduceAction491::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15610;
+ fra.me.meth = LOCATE_parser___ReduceAction491___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15612 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15613 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15615 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TChar, ID_parser___parser_nodes___TChar)) /*cast nullable TChar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15615);
+ }
+ /* parser/parser.nit:15616 */
+ fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15619 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15620 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15620);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction492___action[] = "parser::ReduceAction492::(parser::ReduceAction::action)";
+void parser___ReduceAction492___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 = 15625;
+ fra.me.meth = LOCATE_parser___ReduceAction492___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15627 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15628 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15630 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15630);
+ }
+ /* parser/parser.nit:15631 */
+ fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15634 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15635 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15635);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction494___action[] = "parser::ReduceAction494::(parser::ReduceAction::action)";
+void parser___ReduceAction494___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 = 15640;
+ fra.me.meth = LOCATE_parser___ReduceAction494___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15642 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15643 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15644 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15645 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15647 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15647);
+ }
+ /* parser/parser.nit:15649 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15649);
+ }
+ /* parser/parser.nit:15651 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15651);
+ }
+ /* parser/parser.nit:15652 */
+ fra.me.REG[3] = NEW_AParExpr_parser___parser_prod___AParExpr___init_aparexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15657 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15658 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15658);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction495___action[] = "parser::ReduceAction495::(parser::ReduceAction::action)";
+void parser___ReduceAction495___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 = 15663;
+ fra.me.meth = LOCATE_parser___ReduceAction495___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* parser/parser.nit:15665 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15666 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15667 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15668 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15669 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15670 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15671 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15672 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15673 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15674 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15675 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15677 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15677);
+ }
+ /* parser/parser.nit:15679 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15679);
+ }
+ /* parser/parser.nit:15681 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15681);
+ }
+ /* parser/parser.nit:15683 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15683);
+ }
+ /* parser/parser.nit:15685 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15685);
+ }
+ /* parser/parser.nit:15686 */
+ fra.me.REG[3] = NEW_AAsCastExpr_parser___parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15693 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15694 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15694);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction496___action[] = "parser::ReduceAction496::(parser::ReduceAction::action)";
+void parser___ReduceAction496___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 = 15699;
+ fra.me.meth = LOCATE_parser___ReduceAction496___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15701 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15702 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15703 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15704 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15705 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15706 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15707 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15708 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15709 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15710 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15711 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15712 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15713 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15715 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15715);
+ }
+ /* parser/parser.nit:15717 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15717);
+ }
+ /* parser/parser.nit:15719 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15719);
+ }
+ /* parser/parser.nit:15721 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15721);
+ }
+ /* parser/parser.nit:15723 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnull, ID_parser___parser_nodes___TKwnull)) /*cast nullable TKwnull*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15723);
+ }
+ /* parser/parser.nit:15725 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15725);
+ }
+ /* parser/parser.nit:15726 */
+ fra.me.REG[3] = NEW_AAsNotnullExpr_parser___parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:15734 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15735 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15735);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction497___action[] = "parser::ReduceAction497::(parser::ReduceAction::action)";
+void parser___ReduceAction497___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 = 15740;
+ fra.me.meth = LOCATE_parser___ReduceAction497___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15742 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15743 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15744 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15745 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15747 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15747);
+ }
+ /* parser/parser.nit:15749 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15749);
+ }
+ /* parser/parser.nit:15750 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:15751 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15752 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:15754 */
+ fra.me.REG[5] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]);
+ /* parser/parser.nit:15757 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:15758 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15758);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction498___action[] = "parser::ReduceAction498::(parser::ReduceAction::action)";
+void parser___ReduceAction498___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 = 15763;
+ fra.me.meth = LOCATE_parser___ReduceAction498___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15765 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15766 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15767 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15768 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15769 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15771 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15771);
+ }
+ /* parser/parser.nit:15773 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15773);
+ }
+ /* parser/parser.nit:15775 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15775);
+ }
+ /* parser/parser.nit:15776 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* parser/parser.nit:15777 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:15778 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15779 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:15781 */
+ fra.me.REG[6] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6]);
+ /* parser/parser.nit:15784 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:15785 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15785);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction499___action[] = "parser::ReduceAction499::(parser::ReduceAction::action)";
+void parser___ReduceAction499___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 = 15790;
+ fra.me.meth = LOCATE_parser___ReduceAction499___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15792 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15793 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15794 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15795 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15796 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15797 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15800 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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:15801 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:15803 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15804 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:15806 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:15807 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15807);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction500___action[] = "parser::ReduceAction500::(parser::ReduceAction::action)";
+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 = 15812;
+ fra.me.meth = LOCATE_parser___ReduceAction500___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15814 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15815 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15817 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStartString, ID_parser___parser_nodes___TStartString)) /*cast nullable TStartString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15817);
+ }
+ /* parser/parser.nit:15818 */
+ fra.me.REG[3] = NEW_AStartStringExpr_parser___parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15821 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15822 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15822);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction502___action[] = "parser::ReduceAction502::(parser::ReduceAction::action)";
+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 = 15827;
+ fra.me.meth = LOCATE_parser___ReduceAction502___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15829 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15830 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15832 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMidString, ID_parser___parser_nodes___TMidString)) /*cast nullable TMidString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15832);
+ }
+ /* parser/parser.nit:15833 */
+ fra.me.REG[3] = NEW_AMidStringExpr_parser___parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15836 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15837 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15837);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction503___action[] = "parser::ReduceAction503::(parser::ReduceAction::action)";
+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 = 15842;
+ fra.me.meth = LOCATE_parser___ReduceAction503___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15844 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15845 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15847 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TEndString, ID_parser___parser_nodes___TEndString)) /*cast nullable TEndString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15847);
+ }
+ /* parser/parser.nit:15848 */
+ fra.me.REG[3] = NEW_AEndStringExpr_parser___parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[3]);
+ /* parser/parser.nit:15851 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15852 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15852);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction504___action[] = "parser::ReduceAction504::(parser::ReduceAction::action)";
+void parser___ReduceAction504___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 = 15857;
+ fra.me.meth = LOCATE_parser___ReduceAction504___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15859 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15860 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15861 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15862 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15863 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15864 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15866 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15866);
+ }
+ /* parser/parser.nit:15868 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15868);
+ }
+ /* parser/parser.nit:15869 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:15871 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15871);
+ }
+ /* parser/parser.nit:15872 */
+ fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
+ /* parser/parser.nit:15877 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15878 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15878);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction505___action[] = "parser::ReduceAction505::(parser::ReduceAction::action)";
+void parser___ReduceAction505___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 = 15883;
+ fra.me.meth = LOCATE_parser___ReduceAction505___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15885 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15886 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15887 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15888 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15889 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15891 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15891);
+ }
+ /* parser/parser.nit:15893 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15893);
+ }
+ /* parser/parser.nit:15894 */
+ fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:15899 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15900 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15900);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction506___action[] = "parser::ReduceAction506::(parser::ReduceAction::action)";
+void parser___ReduceAction506___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 = 15905;
+ fra.me.meth = LOCATE_parser___ReduceAction506___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15907 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15908 */
+ fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15909 */
+ fra.me.REG[3] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[3]);
+ /* parser/parser.nit:15912 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15913 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15913);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction508___action[] = "parser::ReduceAction508::(parser::ReduceAction::action)";
+void parser___ReduceAction508___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 = 15918;
+ fra.me.meth = LOCATE_parser___ReduceAction508___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15920 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15921 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15922 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15924 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15924);
+ }
+ /* parser/parser.nit:15925 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15926 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:15928 */
+ fra.me.REG[4] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[4]);
+ /* parser/parser.nit:15931 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:15932 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15932);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction511___action[] = "parser::ReduceAction511::(parser::ReduceAction::action)";
+void parser___ReduceAction511___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 = 15937;
+ fra.me.meth = LOCATE_parser___ReduceAction511___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15939 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15940 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15941 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15942 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15943 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15944 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15946 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15946);
+ }
+ /* parser/parser.nit:15948 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15948);
+ }
+ /* parser/parser.nit:15949 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:15951 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15951);
+ }
+ /* parser/parser.nit:15952 */
+ fra.me.REG[3] = NEW_ABraExprs_parser___parser_prod___ABraExprs___init_abraexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
+ /* parser/parser.nit:15957 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:15958 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15958);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction512___action[] = "parser::ReduceAction512::(parser::ReduceAction::action)";
+void parser___ReduceAction512___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 = 15963;
+ fra.me.meth = LOCATE_parser___ReduceAction512___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15965 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15966 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15967 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15968 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15970 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15971 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:15973 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:15974 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15974);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction513___action[] = "parser::ReduceAction513::(parser::ReduceAction::action)";
+void parser___ReduceAction513___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 = 15979;
+ fra.me.meth = LOCATE_parser___ReduceAction513___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:15981 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:15982 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15983 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15984 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:15985 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:15988 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 15988);
+ }
+ /* parser/parser.nit:15989 */
+ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:15990 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* parser/parser.nit:15992 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:15993 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:15994 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15994);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction514___action[] = "parser::ReduceAction514::(parser::ReduceAction::action)";
+void parser___ReduceAction514___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 = 15999;
+ fra.me.meth = LOCATE_parser___ReduceAction514___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16001 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16002 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16003 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16004 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16005 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16007 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16008 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16008);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction515___action[] = "parser::ReduceAction515::(parser::ReduceAction::action)";
+void parser___ReduceAction515___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 = 16013;
+ fra.me.meth = LOCATE_parser___ReduceAction515___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16015 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16016 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16017 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16019 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16020 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16022 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16023 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16023);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction516___action[] = "parser::ReduceAction516::(parser::ReduceAction::action)";
+void parser___ReduceAction516___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 = 16028;
+ fra.me.meth = LOCATE_parser___ReduceAction516___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16030 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16031 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16032 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16033 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16034 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16035 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16036 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16038 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16038);
+ }
+ /* parser/parser.nit:16040 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16041 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16042 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16044 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16045 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16045);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction517___action[] = "parser::ReduceAction517::(parser::ReduceAction::action)";
+void parser___ReduceAction517___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 = 16050;
+ fra.me.meth = LOCATE_parser___ReduceAction517___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16052 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16053 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16054 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16056 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16056);
+ }
+ /* parser/parser.nit:16057 */
+ fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:16062 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16063 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16063);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction518___action[] = "parser::ReduceAction518::(parser::ReduceAction::action)";
+void parser___ReduceAction518___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 = 16068;
+ fra.me.meth = LOCATE_parser___ReduceAction518___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16070 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16071 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16072 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16073 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16075 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16075);
+ }
+ /* parser/parser.nit:16076 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16078 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16078);
+ }
+ /* parser/parser.nit:16079 */
+ fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:16084 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16085 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16085);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction519___action[] = "parser::ReduceAction519::(parser::ReduceAction::action)";
+void parser___ReduceAction519___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 = 16090;
+ fra.me.meth = LOCATE_parser___ReduceAction519___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16092 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16093 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16094 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16095 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16096 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16098 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16098);
+ }
+ /* parser/parser.nit:16100 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16100);
+ }
+ /* parser/parser.nit:16101 */
+ fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:16106 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16107 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16107);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction520___action[] = "parser::ReduceAction520::(parser::ReduceAction::action)";
+void parser___ReduceAction520___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 = 16112;
+ fra.me.meth = LOCATE_parser___ReduceAction520___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16114 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16115 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16116 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16117 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16118 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16119 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16121 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16121);
+ }
+ /* parser/parser.nit:16123 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16123);
+ }
+ /* parser/parser.nit:16124 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
+ fra.me.REG[6] = fra.me.REG[4];
+ /* parser/parser.nit:16126 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16126);
+ }
+ /* parser/parser.nit:16127 */
+ fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
+ /* parser/parser.nit:16132 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16133 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16133);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction521___action[] = "parser::ReduceAction521::(parser::ReduceAction::action)";
+void parser___ReduceAction521___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 = 16138;
+ fra.me.meth = LOCATE_parser___ReduceAction521___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16140 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16141 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16142 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16144 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16144);
+ }
+ /* parser/parser.nit:16145 */
+ fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:16149 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16150 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16150);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction522___action[] = "parser::ReduceAction522::(parser::ReduceAction::action)";
+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 = 16155;
+ fra.me.meth = LOCATE_parser___ReduceAction522___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16157 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16158 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16159 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16160 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16162 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16162);
+ }
+ /* parser/parser.nit:16163 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16165 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16165);
+ }
+ /* parser/parser.nit:16166 */
+ fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[5], fra.me.REG[3]);
+ /* parser/parser.nit:16170 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16171 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16171);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction523___action[] = "parser::ReduceAction523::(parser::ReduceAction::action)";
+void parser___ReduceAction523___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 = 16176;
+ fra.me.meth = LOCATE_parser___ReduceAction523___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16178 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16179 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16180 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16182 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16182);
+ }
+ /* parser/parser.nit:16183 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:16184 */
+ fra.me.REG[4] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], NIT_NULL);
+ /* parser/parser.nit:16188 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16189 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16189);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction524___action[] = "parser::ReduceAction524::(parser::ReduceAction::action)";
+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 = 16194;
+ fra.me.meth = LOCATE_parser___ReduceAction524___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16196 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16197 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16198 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16199 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16201 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16202 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16202);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction525___action[] = "parser::ReduceAction525::(parser::ReduceAction::action)";
+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 tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16207;
+ fra.me.meth = LOCATE_parser___ReduceAction525___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16209 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16210 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16211 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16212 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16214 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16215 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16215);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction526___action[] = "parser::ReduceAction526::(parser::ReduceAction::action)";
+void parser___ReduceAction526___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 = 16220;
+ fra.me.meth = LOCATE_parser___ReduceAction526___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16222 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16223 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16224 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16224);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction528___action[] = "parser::ReduceAction528::(parser::ReduceAction::action)";
+void parser___ReduceAction528___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 = 16229;
+ fra.me.meth = LOCATE_parser___ReduceAction528___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16231 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16232 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16233 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16235 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16235);
+ }
+ /* parser/parser.nit:16236 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:16237 */
+ fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
+ /* parser/parser.nit:16240 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16241 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16241);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction529___action[] = "parser::ReduceAction529::(parser::ReduceAction::action)";
+void parser___ReduceAction529___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 = 16246;
+ fra.me.meth = LOCATE_parser___ReduceAction529___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16248 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16249 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16250 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16251 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16253 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16253);
+ }
+ /* parser/parser.nit:16254 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* parser/parser.nit:16255 */
+ fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
+ /* parser/parser.nit:16258 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16259 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16259);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction531___action[] = "parser::ReduceAction531::(parser::ReduceAction::action)";
+void parser___ReduceAction531___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 = 16264;
+ fra.me.meth = LOCATE_parser___ReduceAction531___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.nitni_local_ref_head = NULL;
+ 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;
+ /* parser/parser.nit:16266 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16267 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16268 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16268);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction532___action[] = "parser::ReduceAction532::(parser::ReduceAction::action)";
+void parser___ReduceAction532___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 = 16273;
+ fra.me.meth = LOCATE_parser___ReduceAction532___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16275 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16276 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16278 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16279 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16279);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction533___action[] = "parser::ReduceAction533::(parser::ReduceAction::action)";
+void parser___ReduceAction533___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 = 16284;
+ fra.me.meth = LOCATE_parser___ReduceAction533___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16286 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16287 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16288 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16289 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16289);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction534___action[] = "parser::ReduceAction534::(parser::ReduceAction::action)";
+void parser___ReduceAction534___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 = 16294;
+ fra.me.meth = LOCATE_parser___ReduceAction534___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16296 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16297 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16298 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16299 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16300 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16300);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction806___action[] = "parser::ReduceAction806::(parser::ReduceAction::action)";
+void parser___ReduceAction806___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 = 16305;
+ fra.me.meth = LOCATE_parser___ReduceAction806___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16307 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16308 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16309 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16310 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16312 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16312);
+ }
+ /* parser/parser.nit:16314 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16314);
+ }
+ /* parser/parser.nit:16316 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16316);
+ }
+ /* parser/parser.nit:16317 */
+ fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:16322 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16323 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16323);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction807___action[] = "parser::ReduceAction807::(parser::ReduceAction::action)";
+void parser___ReduceAction807___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 = 16328;
+ fra.me.meth = LOCATE_parser___ReduceAction807___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16330 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16331 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16332 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16334 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16334);
+ }
+ /* parser/parser.nit:16336 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16336);
+ }
+ /* parser/parser.nit:16337 */
+ fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:16341 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16342 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16342);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction808___action[] = "parser::ReduceAction808::(parser::ReduceAction::action)";
+void parser___ReduceAction808___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 = 16347;
+ fra.me.meth = LOCATE_parser___ReduceAction808___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16349 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16350 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16351 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16352 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16353 */
+ fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16355 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16355);
+ }
+ /* parser/parser.nit:16357 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16357);
+ }
+ /* parser/parser.nit:16359 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16359);
+ }
+ /* parser/parser.nit:16360 */
+ fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
+ /* parser/parser.nit:16366 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* parser/parser.nit:16367 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16367);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction811___action[] = "parser::ReduceAction811::(parser::ReduceAction::action)";
+void parser___ReduceAction811___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 = 16372;
+ fra.me.meth = LOCATE_parser___ReduceAction811___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16374 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16375 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16376 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16377 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16379 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16379);
+ }
+ /* parser/parser.nit:16381 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16381);
+ }
+ /* parser/parser.nit:16383 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16383);
+ }
+ /* parser/parser.nit:16384 */
+ fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* parser/parser.nit:16389 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16390 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16390);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction824___action[] = "parser::ReduceAction824::(parser::ReduceAction::action)";
+void parser___ReduceAction824___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 = 16395;
+ fra.me.meth = LOCATE_parser___ReduceAction824___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16397 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16398 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16399 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16400 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16402 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16403 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16403);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction825___action[] = "parser::ReduceAction825::(parser::ReduceAction::action)";
+void parser___ReduceAction825___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 = 16408;
+ fra.me.meth = LOCATE_parser___ReduceAction825___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16410 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16411 */
+ fra.me.REG[3] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
+ /* parser/parser.nit:16412 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* parser/parser.nit:16413 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16413);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction832___action[] = "parser::ReduceAction832::(parser::ReduceAction::action)";
+void parser___ReduceAction832___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 = 16418;
+ fra.me.meth = LOCATE_parser___ReduceAction832___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16420 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16421 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16422 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16424 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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:16425 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16427 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16428 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16428);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction833___action[] = "parser::ReduceAction833::(parser::ReduceAction::action)";
+void parser___ReduceAction833___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 = 16433;
+ fra.me.meth = LOCATE_parser___ReduceAction833___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16435 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16436 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16437 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16438 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16440 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16440);
+ }
+ /* parser/parser.nit:16442 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16443 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16444 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16446 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16447 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16447);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction834___action[] = "parser::ReduceAction834::(parser::ReduceAction::action)";
+void parser___ReduceAction834___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 = 16452;
+ fra.me.meth = LOCATE_parser___ReduceAction834___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16454 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16455 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16456 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16458 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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(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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16459 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16461 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16462 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16462);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction835___action[] = "parser::ReduceAction835::(parser::ReduceAction::action)";
+void parser___ReduceAction835___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 = 16467;
+ fra.me.meth = LOCATE_parser___ReduceAction835___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16469 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16470 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16471 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16472 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16474 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16474);
+ }
+ /* parser/parser.nit:16476 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16477 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16478 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16480 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16481 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16481);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction836___action[] = "parser::ReduceAction836::(parser::ReduceAction::action)";
+void parser___ReduceAction836___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 = 16486;
+ fra.me.meth = LOCATE_parser___ReduceAction836___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16488 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16489 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16490 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16492 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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:16493 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16495 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16496 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16496);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction837___action[] = "parser::ReduceAction837::(parser::ReduceAction::action)";
+void parser___ReduceAction837___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 = 16501;
+ fra.me.meth = LOCATE_parser___ReduceAction837___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16503 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16504 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16505 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16506 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16508 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16508);
+ }
+ /* parser/parser.nit:16510 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16511 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16512 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16514 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16515 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16515);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction838___action[] = "parser::ReduceAction838::(parser::ReduceAction::action)";
+void parser___ReduceAction838___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 = 16520;
+ fra.me.meth = LOCATE_parser___ReduceAction838___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16522 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16523 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16524 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16526 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16527 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16529 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16530 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16530);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction839___action[] = "parser::ReduceAction839::(parser::ReduceAction::action)";
+void parser___ReduceAction839___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 = 16535;
+ fra.me.meth = LOCATE_parser___ReduceAction839___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16537 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16538 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16539 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16540 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16542 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16542);
+ }
+ /* parser/parser.nit:16544 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16545 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___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(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 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16546 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16548 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16549 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16549);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction840___action[] = "parser::ReduceAction840::(parser::ReduceAction::action)";
+void parser___ReduceAction840___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 = 16554;
+ fra.me.meth = LOCATE_parser___ReduceAction840___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16556 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16557 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16558 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16560 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16561 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16563 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16564 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16564);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction841___action[] = "parser::ReduceAction841::(parser::ReduceAction::action)";
+void parser___ReduceAction841___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 = 16569;
+ fra.me.meth = LOCATE_parser___ReduceAction841___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16571 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16572 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16573 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16574 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16576 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16576);
+ }
+ /* parser/parser.nit:16578 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16579 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16580 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16582 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16583 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16583);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction844___action[] = "parser::ReduceAction844::(parser::ReduceAction::action)";
+void parser___ReduceAction844___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 = 16588;
+ fra.me.meth = LOCATE_parser___ReduceAction844___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16590 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16591 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16592 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16594 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16595 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16597 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16598 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16598);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction845___action[] = "parser::ReduceAction845::(parser::ReduceAction::action)";
+void parser___ReduceAction845___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 = 16603;
+ fra.me.meth = LOCATE_parser___ReduceAction845___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16605 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16606 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16607 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16608 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16610 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16610);
+ }
+ /* parser/parser.nit:16612 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16613 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16614 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16616 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16617 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16617);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction846___action[] = "parser::ReduceAction846::(parser::ReduceAction::action)";
+void parser___ReduceAction846___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 = 16622;
+ fra.me.meth = LOCATE_parser___ReduceAction846___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16624 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16625 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16626 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16628 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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*/;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16629 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16631 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16632 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16632);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction847___action[] = "parser::ReduceAction847::(parser::ReduceAction::action)";
+void parser___ReduceAction847___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 = 16637;
+ fra.me.meth = LOCATE_parser___ReduceAction847___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16639 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16640 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16641 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16642 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16644 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16644);
+ }
+ /* parser/parser.nit:16646 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16647 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
}
}
- 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(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16648 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16650 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16651 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16651);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction848___action[] = "parser::ReduceAction848::(parser::ReduceAction::action)";
+void parser___ReduceAction848___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 = 16656;
+ fra.me.meth = LOCATE_parser___ReduceAction848___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16658 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16659 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16660 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16662 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16663 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16665 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16666 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16666);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction849___action[] = "parser::ReduceAction849::(parser::ReduceAction::action)";
+void parser___ReduceAction849___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 = 16671;
+ fra.me.meth = LOCATE_parser___ReduceAction849___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16673 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16674 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16675 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16676 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16678 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16678);
+ }
+ /* parser/parser.nit:16680 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16681 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16682 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16684 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16685 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16685);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction850___action[] = "parser::ReduceAction850::(parser::ReduceAction::action)";
+void parser___ReduceAction850___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 = 16690;
+ fra.me.meth = LOCATE_parser___ReduceAction850___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16692 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16693 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16694 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16696 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16697 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16699 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16700 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16700);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction851___action[] = "parser::ReduceAction851::(parser::ReduceAction::action)";
+void parser___ReduceAction851___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 = 16705;
+ fra.me.meth = LOCATE_parser___ReduceAction851___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16707 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16708 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16709 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16710 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16712 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16712);
+ }
+ /* parser/parser.nit:16714 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16715 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16716 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16718 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16719 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16719);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction853___action[] = "parser::ReduceAction853::(parser::ReduceAction::action)";
+void parser___ReduceAction853___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 = 16724;
+ fra.me.meth = LOCATE_parser___ReduceAction853___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16726 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16727 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16728 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16729 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16731 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16731);
+ }
+ /* parser/parser.nit:16733 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16734 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16735 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16737 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16738 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16738);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction854___action[] = "parser::ReduceAction854::(parser::ReduceAction::action)";
+void parser___ReduceAction854___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 = 16743;
+ fra.me.meth = LOCATE_parser___ReduceAction854___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16745 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16746 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16747 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16749 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16750 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16752 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16753 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16753);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction855___action[] = "parser::ReduceAction855::(parser::ReduceAction::action)";
+void parser___ReduceAction855___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 = 16758;
+ fra.me.meth = LOCATE_parser___ReduceAction855___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16760 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16761 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16762 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16763 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16765 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16765);
+ }
+ /* parser/parser.nit:16767 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16768 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16769 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16771 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16772 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16772);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction857___action[] = "parser::ReduceAction857::(parser::ReduceAction::action)";
+void parser___ReduceAction857___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 = 16777;
+ fra.me.meth = LOCATE_parser___ReduceAction857___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16779 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16780 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16781 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16782 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16784 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16784);
+ }
+ /* parser/parser.nit:16786 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16786);
+ }
+ /* parser/parser.nit:16787 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16788 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* parser/parser.nit:16789 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16790 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16790);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction861___action[] = "parser::ReduceAction861::(parser::ReduceAction::action)";
+void parser___ReduceAction861___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 = 16795;
+ fra.me.meth = LOCATE_parser___ReduceAction861___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16797 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16798 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16799 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16800 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16802 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16802);
+ }
+ /* parser/parser.nit:16804 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16805 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16806 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16808 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16809 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16809);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction862___action[] = "parser::ReduceAction862::(parser::ReduceAction::action)";
+void parser___ReduceAction862___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 = 16814;
+ fra.me.meth = LOCATE_parser___ReduceAction862___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16816 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16817 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16818 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16820 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16821 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16823 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16824 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16824);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction863___action[] = "parser::ReduceAction863::(parser::ReduceAction::action)";
+void parser___ReduceAction863___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 = 16829;
+ fra.me.meth = LOCATE_parser___ReduceAction863___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16831 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16832 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16833 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16834 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16836 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16836);
+ }
+ /* parser/parser.nit:16838 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16839 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16840 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16842 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16843 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16843);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction864___action[] = "parser::ReduceAction864::(parser::ReduceAction::action)";
+void parser___ReduceAction864___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 = 16848;
+ fra.me.meth = LOCATE_parser___ReduceAction864___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16850 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16851 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16852 */
+ fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16854 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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:16855 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16857 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* parser/parser.nit:16858 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16858);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+static const char LOCATE_parser___ReduceAction865___action[] = "parser::ReduceAction865::(parser::ReduceAction::action)";
+void parser___ReduceAction865___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 = 16863;
+ fra.me.meth = LOCATE_parser___ReduceAction865___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.nitni_local_ref_head = NULL;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[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;
+ /* parser/parser.nit:16865 */
+ fra.me.REG[2] = NIT_NULL;
+ /* parser/parser.nit:16866 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16867 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* parser/parser.nit:16868 */
+ fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
+ /* parser/parser.nit:16870 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 16870);
+ }
+ /* parser/parser.nit:16872 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* parser/parser.nit:16873 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(0);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], 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*/;
- }
- 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;
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* parser/parser.nit:16874 */
+ CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
+ }
+ /* parser/parser.nit:16876 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* parser/parser.nit:16877 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16877);
+ }
+ REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
return;
}