+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* ./parser//parser.nit:5236 */
+ array___Array___add(fra.me.REG[4], fra.me.REG[3]);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ /* ./parser//parser.nit:5239 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[4] = fra.me.REG[2];
+ /* ./parser//parser.nit:5240 */
+ } else {
+ /* ./parser//parser.nit:5242 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
+ }
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(7);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5246 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction84___init(val_t p0, int* init_table){
+ int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction84].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos88]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5248;
+ fra.me.meth = LOCATE_parser___ReduceAction84___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5248 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos88] = 1;
+ return;
+}
+void parser___ReduceAction85___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5252;
+ fra.me.meth = LOCATE_parser___ReduceAction85___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
+ /* ./parser//parser.nit:5259 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5259);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(8);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5261 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction85___init(val_t p0, int* init_table){
+ int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction85].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos89]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5263;
+ fra.me.meth = LOCATE_parser___ReduceAction85___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5263 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos89] = 1;
+ return;
+}
+void parser___ReduceAction86___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5267;
+ fra.me.meth = LOCATE_parser___ReduceAction86___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ /* ./parser//parser.nit:5272 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5272);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(9);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5278 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction86___init(val_t p0, int* init_table){
+ int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction86].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos90]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5280;
+ fra.me.meth = LOCATE_parser___ReduceAction86___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5280 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos90] = 1;
+ return;
+}
+void parser___ReduceAction87___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5284;
+ fra.me.meth = LOCATE_parser___ReduceAction87___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ /* ./parser//parser.nit:5290 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5290);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:5292 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5292);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(9);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5298 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction87___init(val_t p0, int* init_table){
+ int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction87].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos91]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5300;
+ fra.me.meth = LOCATE_parser___ReduceAction87___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5300 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos91] = 1;
+ return;
+}
+void parser___ReduceAction88___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5304;
+ fra.me.meth = LOCATE_parser___ReduceAction88___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwspecial, ID_TKwspecial)) /*cast nullable TKwspecial*/;
+ /* ./parser//parser.nit:5312 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5312);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:5314 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5314);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(10);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5320 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction88___init(val_t p0, int* init_table){
+ int itpos92 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction88].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos92]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5322;
+ fra.me.meth = LOCATE_parser___ReduceAction88___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5322 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos92] = 1;
+ return;
+}
+void parser___ReduceAction89___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5326;
+ fra.me.meth = LOCATE_parser___ReduceAction89___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
+ /* ./parser//parser.nit:5332 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5332);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(11);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5334 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction89___init(val_t p0, int* init_table){
+ int itpos93 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction89].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos93]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5336;
+ fra.me.meth = LOCATE_parser___ReduceAction89___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5336 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos93] = 1;
+ return;
+}
+void parser___ReduceAction90___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5340;
+ fra.me.meth = LOCATE_parser___ReduceAction90___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5351 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5351);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5353 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5353);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5355 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5355);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:5357 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5357);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5362 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5362);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5364 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5364);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5375 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction90___init(val_t p0, int* init_table){
+ int itpos94 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction90].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos94]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5377;
+ fra.me.meth = LOCATE_parser___ReduceAction90___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5377 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos94] = 1;
+ return;
+}
+void parser___ReduceAction91___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5381;
+ fra.me.meth = LOCATE_parser___ReduceAction91___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5392 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5392);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5394 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5394);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5396 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5396);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:5398 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5398);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5403 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5403);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5405 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5405);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5416 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction91___init(val_t p0, int* init_table){
+ int itpos95 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction91].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos95]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5418;
+ fra.me.meth = LOCATE_parser___ReduceAction91___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5418 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos95] = 1;
+ return;
+}
+void parser___ReduceAction92___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5422;
+ fra.me.meth = LOCATE_parser___ReduceAction92___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5433);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5435 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5435);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5437 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5437);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:5439 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5439);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5444 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5444);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5446 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5446);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5457 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction92___init(val_t p0, int* init_table){
+ int itpos96 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction92].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos96]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5459;
+ fra.me.meth = LOCATE_parser___ReduceAction92___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5459 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos96] = 1;
+ return;
+}
+void parser___ReduceAction93___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5463;
+ fra.me.meth = LOCATE_parser___ReduceAction93___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5474 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5474);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5476 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5476);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5478 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5478);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:5480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5480);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5485 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5485);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5487 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5487);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5498 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction93___init(val_t p0, int* init_table){
+ int itpos97 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction93].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos97]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5500;
+ fra.me.meth = LOCATE_parser___ReduceAction93___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5500 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos97] = 1;
+ return;
+}
+void parser___ReduceAction94___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5504;
+ fra.me.meth = LOCATE_parser___ReduceAction94___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5515 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5515);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5517 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5517);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5519 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5519);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:5521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5521);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5526 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5526);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5528 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5528);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5539 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction94___init(val_t p0, int* init_table){
+ int itpos98 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction94].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos98]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5541;
+ fra.me.meth = LOCATE_parser___ReduceAction94___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5541 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos98] = 1;
+ return;
+}
+void parser___ReduceAction95___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5545;
+ fra.me.meth = LOCATE_parser___ReduceAction95___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5556 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5556);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5558 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5558);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5560 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5560);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:5562 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5562);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5567 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5567);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5569 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5569);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5580 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction95___init(val_t p0, int* init_table){
+ int itpos99 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction95].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos99]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5582;
+ fra.me.meth = LOCATE_parser___ReduceAction95___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5582 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos99] = 1;
+ return;
+}
+void parser___ReduceAction96___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5586;
+ fra.me.meth = LOCATE_parser___ReduceAction96___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5597 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5597);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5599 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5599);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5601 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5601);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:5603 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5603);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5608 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5608);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5610 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5610);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5621 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction96___init(val_t p0, int* init_table){
+ int itpos100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction96].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos100]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5623;
+ fra.me.meth = LOCATE_parser___ReduceAction96___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5623 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos100] = 1;
+ return;
+}
+void parser___ReduceAction97___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5627;
+ fra.me.meth = LOCATE_parser___ReduceAction97___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5638 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5638);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5640 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5640);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5642 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5642);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:5644 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5644);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5651);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5662 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction97___init(val_t p0, int* init_table){
+ int itpos101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction97].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos101]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5664;
+ fra.me.meth = LOCATE_parser___ReduceAction97___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5664 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos101] = 1;
+ return;
+}
+void parser___ReduceAction98___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5668;
+ fra.me.meth = LOCATE_parser___ReduceAction98___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5679 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5679);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5681 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5681);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5683 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5683);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:5685 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5685);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5690 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5690);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5692 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5692);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5703 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction98___init(val_t p0, int* init_table){
+ int itpos102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction98].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos102]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5705;
+ fra.me.meth = LOCATE_parser___ReduceAction98___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5705 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos102] = 1;
+ return;
+}
+void parser___ReduceAction99___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5709;
+ fra.me.meth = LOCATE_parser___ReduceAction99___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5720 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5720);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5722 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5722);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5724 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5724);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:5726 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5726);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5731 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5731);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5733 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5733);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5744 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction99___init(val_t p0, int* init_table){
+ int itpos103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction99].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos103]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5746;
+ fra.me.meth = LOCATE_parser___ReduceAction99___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5746 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos103] = 1;
+ return;
+}
+void parser___ReduceAction100___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5750;
+ fra.me.meth = LOCATE_parser___ReduceAction100___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5761 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5761);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5763 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5763);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:5767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5767);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5772 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5772);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5774 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5774);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5785 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction100___init(val_t p0, int* init_table){
+ int itpos104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction100].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos104]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5787;
+ fra.me.meth = LOCATE_parser___ReduceAction100___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5787 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos104] = 1;
+ return;
+}
+void parser___ReduceAction101___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5791;
+ fra.me.meth = LOCATE_parser___ReduceAction101___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5802 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5802);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5804 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5804);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5806 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5806);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:5808 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5808);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5813 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5813);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5815 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5815);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5826 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction101___init(val_t p0, int* init_table){
+ int itpos105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction101].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos105]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5828;
+ fra.me.meth = LOCATE_parser___ReduceAction101___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5828 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos105] = 1;
+ return;
+}
+void parser___ReduceAction102___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5832;
+ fra.me.meth = LOCATE_parser___ReduceAction102___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5844 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5844);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5846 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5846);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5848 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5848);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:5850 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5850);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:5852 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5852);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5858 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5858);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5860 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5860);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5871 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction102___init(val_t p0, int* init_table){
+ int itpos106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction102].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos106]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5873;
+ fra.me.meth = LOCATE_parser___ReduceAction102___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5873 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos106] = 1;
+ return;
+}
+void parser___ReduceAction103___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5877;
+ fra.me.meth = LOCATE_parser___ReduceAction103___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5888 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5888);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5890 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5890);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5892 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5892);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:5894 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5894);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5899 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5899);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5901 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5901);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5912 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction103___init(val_t p0, int* init_table){
+ int itpos107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction103].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos107]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5914;
+ fra.me.meth = LOCATE_parser___ReduceAction103___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5914 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos107] = 1;
+ return;
+}
+void parser___ReduceAction104___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5918;
+ fra.me.meth = LOCATE_parser___ReduceAction104___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5930 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5930);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5932 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5932);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5934 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5934);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:5936 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5936);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:5938 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5938);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5944 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5944);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5946 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5946);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:5957 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction104___init(val_t p0, int* init_table){
+ int itpos108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction104].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos108]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5959;
+ fra.me.meth = LOCATE_parser___ReduceAction104___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:5959 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos108] = 1;
+ return;
+}
+void parser___ReduceAction105___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5963;
+ fra.me.meth = LOCATE_parser___ReduceAction105___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:5976 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5976);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:5978 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5978);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:5980 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5980);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:5982 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5982);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:5984 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5984);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:5986 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5986);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:5993 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5993);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:5995 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5995);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6006 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction105___init(val_t p0, int* init_table){
+ int itpos109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction105].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos109]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6008;
+ fra.me.meth = LOCATE_parser___ReduceAction105___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6008 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos109] = 1;
+ return;
+}
+void parser___ReduceAction106___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6012;
+ fra.me.meth = LOCATE_parser___ReduceAction106___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6024 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6024);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6026);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6028 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6028);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6030 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6030);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:6032 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6032);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6037 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6037);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6039 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6039);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6050 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction106___init(val_t p0, int* init_table){
+ int itpos110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction106].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos110]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6052;
+ fra.me.meth = LOCATE_parser___ReduceAction106___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6052 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos110] = 1;
+ return;
+}
+void parser___ReduceAction107___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6056;
+ fra.me.meth = LOCATE_parser___ReduceAction107___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6068 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6068);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6070 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6070);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6072 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6072);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6074 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6074);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:6076 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6076);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6081 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6081);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6083 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6083);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6094 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction107___init(val_t p0, int* init_table){
+ int itpos111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction107].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos111]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6096;
+ fra.me.meth = LOCATE_parser___ReduceAction107___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6096 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos111] = 1;
+ return;
+}
+void parser___ReduceAction108___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6100;
+ fra.me.meth = LOCATE_parser___ReduceAction108___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6112 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6112);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6114 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6114);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6116 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6116);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6118 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6118);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:6120 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6120);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6125 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6125);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6127 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6127);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6138 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction108___init(val_t p0, int* init_table){
+ int itpos112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction108].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos112]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6140;
+ fra.me.meth = LOCATE_parser___ReduceAction108___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6140 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos112] = 1;
+ return;
+}
+void parser___ReduceAction109___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6144;
+ fra.me.meth = LOCATE_parser___ReduceAction109___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6156 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6156);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6158 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6158);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6160 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6160);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6162 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6162);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:6164 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6164);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6169 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6169);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6171 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6171);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6182 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction109___init(val_t p0, int* init_table){
+ int itpos113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction109].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos113]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6184;
+ fra.me.meth = LOCATE_parser___ReduceAction109___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6184 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos113] = 1;
+ return;
+}
+void parser___ReduceAction110___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6188;
+ fra.me.meth = LOCATE_parser___ReduceAction110___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6200 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6200);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6202 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6202);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6204 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6204);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6206 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6206);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:6208 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6208);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6213 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6213);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6215 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6215);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6226 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction110___init(val_t p0, int* init_table){
+ int itpos114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction110].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos114]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6228;
+ fra.me.meth = LOCATE_parser___ReduceAction110___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6228 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos114] = 1;
+ return;
+}
+void parser___ReduceAction111___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6232;
+ fra.me.meth = LOCATE_parser___ReduceAction111___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6244 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6244);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6246 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6246);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6248 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6248);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6250 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6250);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:6252 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6252);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6257 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6257);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6259 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6259);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6270 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction111___init(val_t p0, int* init_table){
+ int itpos115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction111].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos115]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6272;
+ fra.me.meth = LOCATE_parser___ReduceAction111___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6272 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos115] = 1;
+ return;
+}
+void parser___ReduceAction112___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6276;
+ fra.me.meth = LOCATE_parser___ReduceAction112___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6288 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6288);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6290 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6290);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6292 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6292);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6294 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6294);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:6296 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6296);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6301 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6301);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6303 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6303);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6314 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction112___init(val_t p0, int* init_table){
+ int itpos116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction112].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos116]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6316;
+ fra.me.meth = LOCATE_parser___ReduceAction112___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6316 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos116] = 1;
+ return;
+}
+void parser___ReduceAction113___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6320;
+ fra.me.meth = LOCATE_parser___ReduceAction113___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6332 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6332);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6334 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6334);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6336 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6336);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6338 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6338);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:6340 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6340);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6345 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6345);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6347 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6347);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6358 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction113___init(val_t p0, int* init_table){
+ int itpos117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction113].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos117]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6360;
+ fra.me.meth = LOCATE_parser___ReduceAction113___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6360 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos117] = 1;
+ return;
+}
+void parser___ReduceAction114___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6364;
+ fra.me.meth = LOCATE_parser___ReduceAction114___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6376 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6376);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6378 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6378);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6380 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6380);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6382 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6382);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:6384 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6384);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6389 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6389);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6391 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6391);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6402 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction114___init(val_t p0, int* init_table){
+ int itpos118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction114].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos118]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6404;
+ fra.me.meth = LOCATE_parser___ReduceAction114___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6404 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos118] = 1;
+ return;
+}
+void parser___ReduceAction115___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6408;
+ fra.me.meth = LOCATE_parser___ReduceAction115___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6420 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6420);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6422 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6422);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6424 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6424);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6426 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6426);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:6428 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6428);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6433);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6435 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6435);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6446 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction115___init(val_t p0, int* init_table){
+ int itpos119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction115].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos119]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6448;
+ fra.me.meth = LOCATE_parser___ReduceAction115___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6448 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos119] = 1;
+ return;
+}
+void parser___ReduceAction116___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6452;
+ fra.me.meth = LOCATE_parser___ReduceAction116___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6464 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6464);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6466 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6466);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6468 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6468);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6470 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6470);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:6472 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6472);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6477 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6477);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6479 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6479);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6490 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction116___init(val_t p0, int* init_table){
+ int itpos120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction116].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos120]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6492;
+ fra.me.meth = LOCATE_parser___ReduceAction116___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6492 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos120] = 1;
+ return;
+}
+void parser___ReduceAction117___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6496;
+ fra.me.meth = LOCATE_parser___ReduceAction117___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6508 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6508);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6510 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6510);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6512 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6512);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6514 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6514);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:6516 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6516);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6521);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6523);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6534 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction117___init(val_t p0, int* init_table){
+ int itpos121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction117].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos121]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6536;
+ fra.me.meth = LOCATE_parser___ReduceAction117___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6536 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos121] = 1;
+ return;
+}
+void parser___ReduceAction118___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6540;
+ fra.me.meth = LOCATE_parser___ReduceAction118___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6553 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6553);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6555 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6555);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6559);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:6561 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6561);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:6563 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6563);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6569 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6569);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6571 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6571);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6582 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction118___init(val_t p0, int* init_table){
+ int itpos122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction118].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos122]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6584;
+ fra.me.meth = LOCATE_parser___ReduceAction118___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6584 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos122] = 1;
+ return;
+}
+void parser___ReduceAction119___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6588;
+ fra.me.meth = LOCATE_parser___ReduceAction119___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6600);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6602 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6602);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6604 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6604);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6606 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6606);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:6608 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6608);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6613);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6615 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6615);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6626 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction119___init(val_t p0, int* init_table){
+ int itpos123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction119].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos123]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6628;
+ fra.me.meth = LOCATE_parser___ReduceAction119___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6628 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos123] = 1;
+ return;
+}
+void parser___ReduceAction120___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6632;
+ fra.me.meth = LOCATE_parser___ReduceAction120___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6645 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6645);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6647 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6647);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6651);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:6653 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6653);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:6655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6655);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6661 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6661);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6663 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6663);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6674 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction120___init(val_t p0, int* init_table){
+ int itpos124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction120].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos124]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6676;
+ fra.me.meth = LOCATE_parser___ReduceAction120___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6676 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos124] = 1;
+ return;
+}
+void parser___ReduceAction121___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6680;
+ fra.me.meth = LOCATE_parser___ReduceAction121___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6694 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6694);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:6696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6698);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6700 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6700);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:6702 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6702);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:6704 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6704);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:6706 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6706);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6713 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6713);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6715 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6715);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6726 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction121___init(val_t p0, int* init_table){
+ int itpos125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction121].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos125]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6728;
+ fra.me.meth = LOCATE_parser___ReduceAction121___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6728 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos125] = 1;
+ return;
+}
+void parser___ReduceAction122___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6732;
+ fra.me.meth = LOCATE_parser___ReduceAction122___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6744 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6744);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6746 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6746);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6748 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6748);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:6750 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6750);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6755 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6755);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6757 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6757);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6768 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction122___init(val_t p0, int* init_table){
+ int itpos126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction122].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos126]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6770;
+ fra.me.meth = LOCATE_parser___ReduceAction122___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6770 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos126] = 1;
+ return;
+}
+void parser___ReduceAction123___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6774;
+ fra.me.meth = LOCATE_parser___ReduceAction123___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6786 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6786);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6788 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6788);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6790 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6790);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:6792 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6792);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6797 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6797);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6799 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6799);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6810 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction123___init(val_t p0, int* init_table){
+ int itpos127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction123].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos127]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6812;
+ fra.me.meth = LOCATE_parser___ReduceAction123___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6812 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos127] = 1;
+ return;
+}
+void parser___ReduceAction124___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6816;
+ fra.me.meth = LOCATE_parser___ReduceAction124___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6828 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6828);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6830 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6830);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6832 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6832);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:6834 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6834);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6839 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6839);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6841 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6841);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6852 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction124___init(val_t p0, int* init_table){
+ int itpos128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction124].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos128]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6854;
+ fra.me.meth = LOCATE_parser___ReduceAction124___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6854 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos128] = 1;
+ return;
+}
+void parser___ReduceAction125___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6858;
+ fra.me.meth = LOCATE_parser___ReduceAction125___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6870 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6870);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6872 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6872);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6874 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6874);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:6876 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6876);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6881 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6881);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6883 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6883);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6894 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction125___init(val_t p0, int* init_table){
+ int itpos129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction125].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos129]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6896;
+ fra.me.meth = LOCATE_parser___ReduceAction125___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6896 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos129] = 1;
+ return;
+}
+void parser___ReduceAction126___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6900;
+ fra.me.meth = LOCATE_parser___ReduceAction126___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6912 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6912);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6914 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6914);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6916 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6916);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:6918 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6918);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6923 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6923);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6925 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6925);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6936 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction126___init(val_t p0, int* init_table){
+ int itpos130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction126].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos130]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6938;
+ fra.me.meth = LOCATE_parser___ReduceAction126___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6938 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos130] = 1;
+ return;
+}
+void parser___ReduceAction127___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6942;
+ fra.me.meth = LOCATE_parser___ReduceAction127___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6954);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6956 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6956);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:6958 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6958);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:6960 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6960);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:6965 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6965);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:6967 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6967);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:6978 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction127___init(val_t p0, int* init_table){
+ int itpos131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction127].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos131]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6980;
+ fra.me.meth = LOCATE_parser___ReduceAction127___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:6980 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos131] = 1;
+ return;
+}
+void parser___ReduceAction128___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6984;
+ fra.me.meth = LOCATE_parser___ReduceAction128___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:6996 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6996);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:6998 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6998);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7000 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7000);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:7002 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7002);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7007 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7007);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7009 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7009);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7020 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction128___init(val_t p0, int* init_table){
+ int itpos132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction128].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos132]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7022;
+ fra.me.meth = LOCATE_parser___ReduceAction128___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7022 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos132] = 1;
+ return;
+}
+void parser___ReduceAction129___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7026;
+ fra.me.meth = LOCATE_parser___ReduceAction129___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7038 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7038);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7040 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7040);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7042 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7042);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:7044 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7044);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7049 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7049);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7051 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7051);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7062 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction129___init(val_t p0, int* init_table){
+ int itpos133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction129].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos133]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7064;
+ fra.me.meth = LOCATE_parser___ReduceAction129___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7064 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos133] = 1;
+ return;
+}
+void parser___ReduceAction130___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7068;
+ fra.me.meth = LOCATE_parser___ReduceAction130___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7080 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7080);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7082 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7082);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7084 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7084);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:7086 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7086);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7091 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7091);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7093 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7093);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7104 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction130___init(val_t p0, int* init_table){
+ int itpos134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction130].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos134]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7106;
+ fra.me.meth = LOCATE_parser___ReduceAction130___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7106 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos134] = 1;
+ return;
+}
+void parser___ReduceAction131___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7110;
+ fra.me.meth = LOCATE_parser___ReduceAction131___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7122 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7122);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7124 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7124);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7126 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7126);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:7128 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7128);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7133 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7133);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7135 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7135);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7146 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction131___init(val_t p0, int* init_table){
+ int itpos135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction131].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos135]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7148;
+ fra.me.meth = LOCATE_parser___ReduceAction131___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7148 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos135] = 1;
+ return;
+}
+void parser___ReduceAction132___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7152;
+ fra.me.meth = LOCATE_parser___ReduceAction132___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7164 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7164);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7166 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7166);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7168 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7168);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:7170 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7170);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7175 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7175);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7177 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7177);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7188 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction132___init(val_t p0, int* init_table){
+ int itpos136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction132].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos136]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7190;
+ fra.me.meth = LOCATE_parser___ReduceAction132___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7190 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos136] = 1;
+ return;
+}
+void parser___ReduceAction133___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7194;
+ fra.me.meth = LOCATE_parser___ReduceAction133___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7206 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7206);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7208 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7208);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7210 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7210);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:7212 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7212);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7217 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7217);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7219 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7219);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7230 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction133___init(val_t p0, int* init_table){
+ int itpos137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction133].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos137]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7232;
+ fra.me.meth = LOCATE_parser___ReduceAction133___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7232 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos137] = 1;
+ return;
+}
+void parser___ReduceAction134___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7236;
+ fra.me.meth = LOCATE_parser___ReduceAction134___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7249 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7249);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7251 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7251);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7253 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7253);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:7255 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7255);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:7257 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7257);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7263 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7263);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7265 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7265);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7276 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction134___init(val_t p0, int* init_table){
+ int itpos138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction134].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos138]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7278;
+ fra.me.meth = LOCATE_parser___ReduceAction134___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7278 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos138] = 1;
+ return;
+}
+void parser___ReduceAction135___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7282;
+ fra.me.meth = LOCATE_parser___ReduceAction135___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7294 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7294);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7296 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7296);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7298 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7298);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:7300 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7300);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7305 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7305);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7307 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7307);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7318 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction135___init(val_t p0, int* init_table){
+ int itpos139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction135].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos139]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7320;
+ fra.me.meth = LOCATE_parser___ReduceAction135___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7320 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos139] = 1;
+ return;
+}
+void parser___ReduceAction136___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7324;
+ fra.me.meth = LOCATE_parser___ReduceAction136___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7337 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7337);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7339 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7339);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7341 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7341);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:7343 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7343);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:7345 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7345);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7351 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7351);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7353 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7353);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7364 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction136___init(val_t p0, int* init_table){
+ int itpos140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction136].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos140]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7366;
+ fra.me.meth = LOCATE_parser___ReduceAction136___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7366 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos140] = 1;
+ return;
+}
+void parser___ReduceAction137___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7370;
+ fra.me.meth = LOCATE_parser___ReduceAction137___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7384 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7384);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7386 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7386);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7388 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7388);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:7390 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7390);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:7392 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7392);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:7394 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7394);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7401 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7401);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7403 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7403);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7414 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction137___init(val_t p0, int* init_table){
+ int itpos141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction137].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos141]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7416;
+ fra.me.meth = LOCATE_parser___ReduceAction137___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7416 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos141] = 1;
+ return;
+}
+void parser___ReduceAction138___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7420;
+ fra.me.meth = LOCATE_parser___ReduceAction138___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7433);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7435 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7435);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7437 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7437);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7439 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7439);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:7441 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7441);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7446 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7446);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7448 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7448);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7459 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction138___init(val_t p0, int* init_table){
+ int itpos142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction138].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos142]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7461;
+ fra.me.meth = LOCATE_parser___ReduceAction138___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7461 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos142] = 1;
+ return;
+}
+void parser___ReduceAction139___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7465;
+ fra.me.meth = LOCATE_parser___ReduceAction139___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7478 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7478);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7480);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7482);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7484 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7484);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:7486 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7486);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7491 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7491);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7493 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7493);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7504 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction139___init(val_t p0, int* init_table){
+ int itpos143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction139].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos143]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7506;
+ fra.me.meth = LOCATE_parser___ReduceAction139___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7506 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos143] = 1;
+ return;
+}
+void parser___ReduceAction140___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7510;
+ fra.me.meth = LOCATE_parser___ReduceAction140___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7523);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7525 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7525);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7527 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7527);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7529 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7529);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:7531 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7531);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7536 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7536);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7538 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7538);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7549 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction140___init(val_t p0, int* init_table){
+ int itpos144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction140].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos144]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7551;
+ fra.me.meth = LOCATE_parser___ReduceAction140___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7551 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos144] = 1;
+ return;
+}
+void parser___ReduceAction141___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7555;
+ fra.me.meth = LOCATE_parser___ReduceAction141___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7568);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7570 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7570);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7572 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7572);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7574 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7574);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:7576 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7576);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7581 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7581);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7583 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7583);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7594 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction141___init(val_t p0, int* init_table){
+ int itpos145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction141].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos145]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7596;
+ fra.me.meth = LOCATE_parser___ReduceAction141___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7596 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos145] = 1;
+ return;
+}
+void parser___ReduceAction142___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7600;
+ fra.me.meth = LOCATE_parser___ReduceAction142___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7613);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7615 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7615);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7617 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7617);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7619 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7619);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:7621 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7621);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7626 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7626);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7628 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7628);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7639 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction142___init(val_t p0, int* init_table){
+ int itpos146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction142].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos146]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7641;
+ fra.me.meth = LOCATE_parser___ReduceAction142___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7641 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos146] = 1;
+ return;
+}
+void parser___ReduceAction143___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7645;
+ fra.me.meth = LOCATE_parser___ReduceAction143___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7658 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7658);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7660 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7660);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7662 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7662);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7664 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7664);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:7666 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7666);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7671 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7671);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7673 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7673);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7684 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction143___init(val_t p0, int* init_table){
+ int itpos147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction143].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos147]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7686;
+ fra.me.meth = LOCATE_parser___ReduceAction143___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7686 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos147] = 1;
+ return;
+}
+void parser___ReduceAction144___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7690;
+ fra.me.meth = LOCATE_parser___ReduceAction144___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7703 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7703);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7705 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7705);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7707 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7707);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7709 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7709);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:7711 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7711);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7716 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7716);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7718 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7718);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7729 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction144___init(val_t p0, int* init_table){
+ int itpos148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction144].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos148]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7731;
+ fra.me.meth = LOCATE_parser___ReduceAction144___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7731 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos148] = 1;
+ return;
+}
+void parser___ReduceAction145___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7735;
+ fra.me.meth = LOCATE_parser___ReduceAction145___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7748 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7748);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7750 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7750);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7752 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7752);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7754 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7754);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:7756 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7756);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7761 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7761);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7763 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7763);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7774 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction145___init(val_t p0, int* init_table){
+ int itpos149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction145].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos149]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7776;
+ fra.me.meth = LOCATE_parser___ReduceAction145___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7776 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos149] = 1;
+ return;
+}
+void parser___ReduceAction146___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7780;
+ fra.me.meth = LOCATE_parser___ReduceAction146___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7793 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7793);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7795 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7795);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7797 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7797);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7799 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7799);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:7801 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7801);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7806 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7806);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7808 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7808);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7819 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction146___init(val_t p0, int* init_table){
+ int itpos150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction146].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos150]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7821;
+ fra.me.meth = LOCATE_parser___ReduceAction146___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7821 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos150] = 1;
+ return;
+}
+void parser___ReduceAction147___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7825;
+ fra.me.meth = LOCATE_parser___ReduceAction147___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7838 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7838);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7840 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7840);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7842 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7842);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7844 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7844);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:7846 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7846);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7853);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7864 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction147___init(val_t p0, int* init_table){
+ int itpos151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction147].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos151]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7866;
+ fra.me.meth = LOCATE_parser___ReduceAction147___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7866 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos151] = 1;
+ return;
+}
+void parser___ReduceAction148___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7870;
+ fra.me.meth = LOCATE_parser___ReduceAction148___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7883 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7883);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7885 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7885);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7887 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7887);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7889 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7889);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:7891 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7891);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7896 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7896);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7898 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7898);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7909 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction148___init(val_t p0, int* init_table){
+ int itpos152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction148].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos152]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7911;
+ fra.me.meth = LOCATE_parser___ReduceAction148___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7911 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos152] = 1;
+ return;
+}
+void parser___ReduceAction149___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7915;
+ fra.me.meth = LOCATE_parser___ReduceAction149___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7928 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7928);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7930 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7930);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7932 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7932);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7934 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7934);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:7936 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7936);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7941 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7941);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7943 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7943);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:7954 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction149___init(val_t p0, int* init_table){
+ int itpos153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction149].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos153]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7956;
+ fra.me.meth = LOCATE_parser___ReduceAction149___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:7956 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos153] = 1;
+ return;
+}
+void parser___ReduceAction150___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 7960;
+ fra.me.meth = LOCATE_parser___ReduceAction150___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:7974 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7974);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:7976 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7976);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:7978 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7978);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:7980 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7980);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:7982 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7982);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:7984 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7984);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:7990 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7990);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:7992 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7992);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8003 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction150___init(val_t p0, int* init_table){
+ int itpos154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction150].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos154]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8005;
+ fra.me.meth = LOCATE_parser___ReduceAction150___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8005 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos154] = 1;
+ return;
+}
+void parser___ReduceAction151___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8009;
+ fra.me.meth = LOCATE_parser___ReduceAction151___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8022 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8022);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8024 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8024);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8026);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8028 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8028);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:8030 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8030);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8035 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8035);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8037 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8037);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8048 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction151___init(val_t p0, int* init_table){
+ int itpos155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction151].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos155]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8050;
+ fra.me.meth = LOCATE_parser___ReduceAction151___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8050 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos155] = 1;
+ return;
+}
+void parser___ReduceAction152___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8054;
+ fra.me.meth = LOCATE_parser___ReduceAction152___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8068 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8068);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8070 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8070);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8072 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8072);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8074 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8074);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:8076 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8076);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:8078 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8078);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8084 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8084);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8086 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8086);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8097 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction152___init(val_t p0, int* init_table){
+ int itpos156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction152].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos156]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8099;
+ fra.me.meth = LOCATE_parser___ReduceAction152___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8099 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos156] = 1;
+ return;
+}
+void parser___ReduceAction153___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8103;
+ fra.me.meth = LOCATE_parser___ReduceAction153___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8118 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8118);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8120 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8120);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8122 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8122);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8124 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8124);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:8126 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8126);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:8128 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8128);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:8130 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8130);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8137 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8137);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8139 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8139);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8150 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction153___init(val_t p0, int* init_table){
+ int itpos157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction153].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos157]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8152;
+ fra.me.meth = LOCATE_parser___ReduceAction153___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8152 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos157] = 1;
+ return;
+}
+void parser___ReduceAction154___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8156;
+ fra.me.meth = LOCATE_parser___ReduceAction154___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8168 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8168);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8170 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8170);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8172 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8172);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:8174 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8174);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8179 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8179);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8181 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8181);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8192 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction154___init(val_t p0, int* init_table){
+ int itpos158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction154].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos158]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8194;
+ fra.me.meth = LOCATE_parser___ReduceAction154___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8194 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos158] = 1;
+ return;
+}
+void parser___ReduceAction155___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8198;
+ fra.me.meth = LOCATE_parser___ReduceAction155___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8210 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8210);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8212 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8212);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8214 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8214);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:8216 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8216);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8221 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8221);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8223 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8223);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8234 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction155___init(val_t p0, int* init_table){
+ int itpos159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction155].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos159]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8236;
+ fra.me.meth = LOCATE_parser___ReduceAction155___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8236 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos159] = 1;
+ return;
+}
+void parser___ReduceAction156___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8240;
+ fra.me.meth = LOCATE_parser___ReduceAction156___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8252 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8252);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8254 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8254);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8256 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8256);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:8258 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8258);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8263 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8263);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8265 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8265);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8276 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction156___init(val_t p0, int* init_table){
+ int itpos160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction156].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos160]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8278;
+ fra.me.meth = LOCATE_parser___ReduceAction156___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8278 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos160] = 1;
+ return;
+}
+void parser___ReduceAction157___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8282;
+ fra.me.meth = LOCATE_parser___ReduceAction157___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8294 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8294);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8296 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8296);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8298 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8298);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:8300 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8300);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8305 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8305);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8307 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8307);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8318 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction157___init(val_t p0, int* init_table){
+ int itpos161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction157].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos161]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8320;
+ fra.me.meth = LOCATE_parser___ReduceAction157___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8320 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos161] = 1;
+ return;
+}
+void parser___ReduceAction158___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8324;
+ fra.me.meth = LOCATE_parser___ReduceAction158___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8336 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8336);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8338 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8338);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8340 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8340);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:8342 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8342);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8347 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8347);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8349 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8349);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8360 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction158___init(val_t p0, int* init_table){
+ int itpos162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction158].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos162]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8362;
+ fra.me.meth = LOCATE_parser___ReduceAction158___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8362 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos162] = 1;
+ return;
+}
+void parser___ReduceAction159___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8366;
+ fra.me.meth = LOCATE_parser___ReduceAction159___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8378 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8378);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8380 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8380);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8382 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8382);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:8384 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8384);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8389 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8389);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8391 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8391);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8402 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction159___init(val_t p0, int* init_table){
+ int itpos163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction159].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos163]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8404;
+ fra.me.meth = LOCATE_parser___ReduceAction159___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8404 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos163] = 1;
+ return;
+}
+void parser___ReduceAction160___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8408;
+ fra.me.meth = LOCATE_parser___ReduceAction160___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8420 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8420);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8422 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8422);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8424 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8424);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:8426 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8426);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8431 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8431);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8433);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8444 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction160___init(val_t p0, int* init_table){
+ int itpos164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction160].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos164]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8446;
+ fra.me.meth = LOCATE_parser___ReduceAction160___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8446 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos164] = 1;
+ return;
+}
+void parser___ReduceAction161___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8450;
+ fra.me.meth = LOCATE_parser___ReduceAction161___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8462 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8462);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8464 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8464);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8466 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8466);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:8468 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8468);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8473);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8475 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8475);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8486 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction161___init(val_t p0, int* init_table){
+ int itpos165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction161].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos165]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8488;
+ fra.me.meth = LOCATE_parser___ReduceAction161___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8488 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos165] = 1;
+ return;
+}
+void parser___ReduceAction162___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8492;
+ fra.me.meth = LOCATE_parser___ReduceAction162___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8504 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8504);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8506 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8506);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8508 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8508);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:8510 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8510);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8515 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8515);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8517 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8517);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8528 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction162___init(val_t p0, int* init_table){
+ int itpos166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction162].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos166]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8530;
+ fra.me.meth = LOCATE_parser___ReduceAction162___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8530 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos166] = 1;
+ return;
+}
+void parser___ReduceAction163___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8534;
+ fra.me.meth = LOCATE_parser___ReduceAction163___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8546 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8546);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8548 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8548);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8550 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8550);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:8552 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8552);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8559);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8570 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction163___init(val_t p0, int* init_table){
+ int itpos167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction163].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos167]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8572;
+ fra.me.meth = LOCATE_parser___ReduceAction163___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8572 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos167] = 1;
+ return;
+}
+void parser___ReduceAction164___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8576;
+ fra.me.meth = LOCATE_parser___ReduceAction164___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8588 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8588);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8590 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8590);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8592 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8592);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:8594 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8594);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8599 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8599);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8601 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8601);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8612 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction164___init(val_t p0, int* init_table){
+ int itpos168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction164].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos168]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8614;
+ fra.me.meth = LOCATE_parser___ReduceAction164___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8614 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos168] = 1;
+ return;
+}
+void parser___ReduceAction165___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8618;
+ fra.me.meth = LOCATE_parser___ReduceAction165___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8630 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8630);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8632 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8632);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8634 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8634);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:8636 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8636);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8641 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8641);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8643 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8643);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8654 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction165___init(val_t p0, int* init_table){
+ int itpos169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction165].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos169]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8656;
+ fra.me.meth = LOCATE_parser___ReduceAction165___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8656 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos169] = 1;
+ return;
+}
+void parser___ReduceAction166___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8660;
+ fra.me.meth = LOCATE_parser___ReduceAction166___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8673 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8673);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8675 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8675);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8677 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8677);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:8679 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8679);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:8681 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8681);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8687 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8687);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8689 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8689);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8700 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction166___init(val_t p0, int* init_table){
+ int itpos170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction166].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos170]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8702;
+ fra.me.meth = LOCATE_parser___ReduceAction166___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8702 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos170] = 1;
+ return;
+}
+void parser___ReduceAction167___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8706;
+ fra.me.meth = LOCATE_parser___ReduceAction167___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8718 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8718);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8720 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8720);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8722 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8722);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:8724 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8724);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8729 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8729);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8731 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8731);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8742 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction167___init(val_t p0, int* init_table){
+ int itpos171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction167].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos171]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8744;
+ fra.me.meth = LOCATE_parser___ReduceAction167___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8744 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos171] = 1;
+ return;
+}
+void parser___ReduceAction168___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8748;
+ fra.me.meth = LOCATE_parser___ReduceAction168___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8761 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8761);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8763 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8763);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8767);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:8769 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8769);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8774 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8774);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8776 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8776);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8787 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction168___init(val_t p0, int* init_table){
+ int itpos172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction168].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos172]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8789;
+ fra.me.meth = LOCATE_parser___ReduceAction168___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8789 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos172] = 1;
+ return;
+}
+void parser___ReduceAction169___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8793;
+ fra.me.meth = LOCATE_parser___ReduceAction169___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8806 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8806);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8808 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8808);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8810 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8810);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8812 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8812);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:8814 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8814);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8819 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8819);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8821 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8821);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8832 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction169___init(val_t p0, int* init_table){
+ int itpos173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction169].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos173]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8834;
+ fra.me.meth = LOCATE_parser___ReduceAction169___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8834 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos173] = 1;
+ return;
+}
+void parser___ReduceAction170___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8838;
+ fra.me.meth = LOCATE_parser___ReduceAction170___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8853);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8855 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8855);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8857 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8857);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:8859 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8859);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8864 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8864);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8866 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8866);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8877 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction170___init(val_t p0, int* init_table){
+ int itpos174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction170].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos174]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8879;
+ fra.me.meth = LOCATE_parser___ReduceAction170___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8879 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos174] = 1;
+ return;
+}
+void parser___ReduceAction171___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8883;
+ fra.me.meth = LOCATE_parser___ReduceAction171___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8896 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8896);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8898 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8898);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8900 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8900);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8902 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8902);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:8904 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8904);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8909 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8909);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8911 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8911);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8922 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction171___init(val_t p0, int* init_table){
+ int itpos175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction171].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos175]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8924;
+ fra.me.meth = LOCATE_parser___ReduceAction171___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8924 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos175] = 1;
+ return;
+}
+void parser___ReduceAction172___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8928;
+ fra.me.meth = LOCATE_parser___ReduceAction172___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8941 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8941);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8943 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8943);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8945 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8945);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8947 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8947);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:8949 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8949);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8954);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:8956 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8956);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:8967 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction172___init(val_t p0, int* init_table){
+ int itpos176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction172].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos176]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8969;
+ fra.me.meth = LOCATE_parser___ReduceAction172___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:8969 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos176] = 1;
+ return;
+}
+void parser___ReduceAction173___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 8973;
+ fra.me.meth = LOCATE_parser___ReduceAction173___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:8986 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8986);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:8988 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8988);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:8990 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8990);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:8992 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8992);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:8994 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8994);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:8999 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8999);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9001 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9001);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9012 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction173___init(val_t p0, int* init_table){
+ int itpos177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction173].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos177]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9014;
+ fra.me.meth = LOCATE_parser___ReduceAction173___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9014 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos177] = 1;
+ return;
+}
+void parser___ReduceAction174___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9018;
+ fra.me.meth = LOCATE_parser___ReduceAction174___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9031 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9031);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9033 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9033);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9035 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9035);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9037 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9037);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:9039 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9039);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9044 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9044);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9046 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9046);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9057 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction174___init(val_t p0, int* init_table){
+ int itpos178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction174].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos178]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9059;
+ fra.me.meth = LOCATE_parser___ReduceAction174___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9059 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos178] = 1;
+ return;
+}
+void parser___ReduceAction175___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9063;
+ fra.me.meth = LOCATE_parser___ReduceAction175___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9076 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9076);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9078 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9078);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9080 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9080);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9082 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9082);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:9084 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9084);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9089 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9089);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9091 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9091);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9102 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction175___init(val_t p0, int* init_table){
+ int itpos179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction175].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos179]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9104;
+ fra.me.meth = LOCATE_parser___ReduceAction175___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9104 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos179] = 1;
+ return;
+}
+void parser___ReduceAction176___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9108;
+ fra.me.meth = LOCATE_parser___ReduceAction176___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9121 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9121);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9123 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9123);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9125 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9125);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9127 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9127);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:9129 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9129);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9134 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9134);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9136 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9136);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9147 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction176___init(val_t p0, int* init_table){
+ int itpos180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction176].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos180]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9149;
+ fra.me.meth = LOCATE_parser___ReduceAction176___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9149 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos180] = 1;
+ return;
+}
+void parser___ReduceAction177___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9153;
+ fra.me.meth = LOCATE_parser___ReduceAction177___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9166 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9166);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9168 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9168);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9170 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9170);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9172 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9172);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:9174 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9174);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9179 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9179);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9181 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9181);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9192 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction177___init(val_t p0, int* init_table){
+ int itpos181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction177].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos181]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9194;
+ fra.me.meth = LOCATE_parser___ReduceAction177___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9194 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos181] = 1;
+ return;
+}
+void parser___ReduceAction178___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9198;
+ fra.me.meth = LOCATE_parser___ReduceAction178___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9211 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9211);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9213 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9213);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9215 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9215);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9217 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9217);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:9219 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9219);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9224 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9224);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9226 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9226);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9237 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction178___init(val_t p0, int* init_table){
+ int itpos182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction178].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos182]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9239;
+ fra.me.meth = LOCATE_parser___ReduceAction178___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9239 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos182] = 1;
+ return;
+}
+void parser___ReduceAction179___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9243;
+ fra.me.meth = LOCATE_parser___ReduceAction179___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9256 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9256);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9258 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9258);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9260 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9260);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9262 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9262);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:9264 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9264);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9269 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9269);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9271 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9271);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9282 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction179___init(val_t p0, int* init_table){
+ int itpos183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction179].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos183]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9284;
+ fra.me.meth = LOCATE_parser___ReduceAction179___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9284 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos183] = 1;
+ return;
+}
+void parser___ReduceAction180___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9288;
+ fra.me.meth = LOCATE_parser___ReduceAction180___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9302 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9302);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9304 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9304);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9306 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9306);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9308 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9308);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:9310 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9310);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:9312 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9312);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9318);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9320 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9320);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9331 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction180___init(val_t p0, int* init_table){
+ int itpos184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction180].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos184]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9333;
+ fra.me.meth = LOCATE_parser___ReduceAction180___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9333 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos184] = 1;
+ return;
+}
+void parser___ReduceAction181___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9337;
+ fra.me.meth = LOCATE_parser___ReduceAction181___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9350 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9350);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:9352 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9352);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9354 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9354);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9356 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9356);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:9358 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9358);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9363 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9363);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:9365 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9365);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9376 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction181___init(val_t p0, int* init_table){
+ int itpos185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction181].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos185]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9378;
+ fra.me.meth = LOCATE_parser___ReduceAction181___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9378 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos185] = 1;
+ return;
+}
+void parser___ReduceAction182___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9382;
+ fra.me.meth = LOCATE_parser___ReduceAction182___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9393 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9393);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9395 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9395);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9397 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9397);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:9399 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9399);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9404 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9404);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9414 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction182___init(val_t p0, int* init_table){
+ int itpos186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction182].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos186]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9416;
+ fra.me.meth = LOCATE_parser___ReduceAction182___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9416 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos186] = 1;
+ return;
+}
+void parser___ReduceAction183___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9420;
+ fra.me.meth = LOCATE_parser___ReduceAction183___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9431 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9431);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9433);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9435 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9435);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:9437 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9437);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9442 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9442);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9452 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction183___init(val_t p0, int* init_table){
+ int itpos187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction183].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos187]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9454;
+ fra.me.meth = LOCATE_parser___ReduceAction183___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9454 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos187] = 1;
+ return;
+}
+void parser___ReduceAction184___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9458;
+ fra.me.meth = LOCATE_parser___ReduceAction184___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9469 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9469);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9471 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9471);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9473);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:9475 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9475);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9480);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9490 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction184___init(val_t p0, int* init_table){
+ int itpos188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction184].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos188]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9492;
+ fra.me.meth = LOCATE_parser___ReduceAction184___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9492 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos188] = 1;
+ return;
+}
+void parser___ReduceAction185___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9496;
+ fra.me.meth = LOCATE_parser___ReduceAction185___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9507 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9507);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9509 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9509);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9511 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9511);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:9513 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9513);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9518 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9518);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9528 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction185___init(val_t p0, int* init_table){
+ int itpos189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction185].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos189]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9530;
+ fra.me.meth = LOCATE_parser___ReduceAction185___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9530 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos189] = 1;
+ return;
+}
+void parser___ReduceAction186___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9534;
+ fra.me.meth = LOCATE_parser___ReduceAction186___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9545 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9545);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9547 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9547);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9549 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9549);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:9551 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9551);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9556 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9556);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9566 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction186___init(val_t p0, int* init_table){
+ int itpos190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction186].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos190]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9568;
+ fra.me.meth = LOCATE_parser___ReduceAction186___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9568 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos190] = 1;
+ return;
+}
+void parser___ReduceAction187___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9572;
+ fra.me.meth = LOCATE_parser___ReduceAction187___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9583 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9583);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9585 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9585);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9587 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9587);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:9589 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9589);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9594 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9594);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9604 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction187___init(val_t p0, int* init_table){
+ int itpos191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction187].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos191]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9606;
+ fra.me.meth = LOCATE_parser___ReduceAction187___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9606 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos191] = 1;
+ return;
+}
+void parser___ReduceAction188___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9610;
+ fra.me.meth = LOCATE_parser___ReduceAction188___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9621 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9621);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9623 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9623);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9625 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9625);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:9627 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9627);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9632 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9632);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9642 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction188___init(val_t p0, int* init_table){
+ int itpos192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction188].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos192]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9644;
+ fra.me.meth = LOCATE_parser___ReduceAction188___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9644 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos192] = 1;
+ return;
+}
+void parser___ReduceAction189___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9648;
+ fra.me.meth = LOCATE_parser___ReduceAction189___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9659 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9659);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9661 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9661);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9663 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9663);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:9665 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9665);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9670 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9670);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9680 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction189___init(val_t p0, int* init_table){
+ int itpos193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction189].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos193]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9682;
+ fra.me.meth = LOCATE_parser___ReduceAction189___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9682 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos193] = 1;
+ return;
+}
+void parser___ReduceAction190___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9686;
+ fra.me.meth = LOCATE_parser___ReduceAction190___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9697 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9697);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9699 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9699);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9701 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9701);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:9703 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9703);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9708 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9708);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9718 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction190___init(val_t p0, int* init_table){
+ int itpos194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction190].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos194]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9720;
+ fra.me.meth = LOCATE_parser___ReduceAction190___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9720 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos194] = 1;
+ return;
+}
+void parser___ReduceAction191___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9724;
+ fra.me.meth = LOCATE_parser___ReduceAction191___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9735 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9735);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9737 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9737);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9739 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9739);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:9741 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9741);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9746 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9746);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9756 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction191___init(val_t p0, int* init_table){
+ int itpos195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction191].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos195]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9758;
+ fra.me.meth = LOCATE_parser___ReduceAction191___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9758 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos195] = 1;
+ return;
+}
+void parser___ReduceAction192___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9762;
+ fra.me.meth = LOCATE_parser___ReduceAction192___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9773 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9773);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9775 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9775);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9777 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9777);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:9779 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9779);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9784 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9784);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9794 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction192___init(val_t p0, int* init_table){
+ int itpos196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction192].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos196]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9796;
+ fra.me.meth = LOCATE_parser___ReduceAction192___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9796 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos196] = 1;
+ return;
+}
+void parser___ReduceAction193___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9800;
+ fra.me.meth = LOCATE_parser___ReduceAction193___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9811 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9811);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9813 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9813);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9815 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9815);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:9817 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9817);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9822 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9822);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9832 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction193___init(val_t p0, int* init_table){
+ int itpos197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction193].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos197]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9834;
+ fra.me.meth = LOCATE_parser___ReduceAction193___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9834 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos197] = 1;
+ return;
+}
+void parser___ReduceAction194___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9838;
+ fra.me.meth = LOCATE_parser___ReduceAction194___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9850 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9850);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9852 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9852);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9854 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9854);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:9856 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9856);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:9858 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9858);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9864 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9864);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9874 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction194___init(val_t p0, int* init_table){
+ int itpos198 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction194].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos198]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9876;
+ fra.me.meth = LOCATE_parser___ReduceAction194___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9876 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos198] = 1;
+ return;
+}
+void parser___ReduceAction195___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9880;
+ fra.me.meth = LOCATE_parser___ReduceAction195___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9891 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9891);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9893 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9893);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9895 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9895);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:9897 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9897);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9902 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9902);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9912 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction195___init(val_t p0, int* init_table){
+ int itpos199 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction195].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos199]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9914;
+ fra.me.meth = LOCATE_parser___ReduceAction195___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9914 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos199] = 1;
+ return;
+}
+void parser___ReduceAction196___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9918;
+ fra.me.meth = LOCATE_parser___ReduceAction196___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9930 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9930);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9932 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9932);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9934 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9934);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:9936 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9936);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:9938 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9938);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9944 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9944);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:9954 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction196___init(val_t p0, int* init_table){
+ int itpos200 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction196].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos200]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9956;
+ fra.me.meth = LOCATE_parser___ReduceAction196___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:9956 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos200] = 1;
+ return;
+}
+void parser___ReduceAction197___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 9960;
+ fra.me.meth = LOCATE_parser___ReduceAction197___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:9973 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9973);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:9975 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9975);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:9977 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9977);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:9979 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9979);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:9981 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9981);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:9983 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9983);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:9990 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9990);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10000 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction197___init(val_t p0, int* init_table){
+ int itpos201 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction197].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos201]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10002;
+ fra.me.meth = LOCATE_parser___ReduceAction197___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10002 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos201] = 1;
+ return;
+}
+void parser___ReduceAction198___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10006;
+ fra.me.meth = LOCATE_parser___ReduceAction198___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10018 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10018);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10020 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10020);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10022 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10022);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10024 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10024);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:10026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10026);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10031 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10031);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10041 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction198___init(val_t p0, int* init_table){
+ int itpos202 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction198].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos202]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10043;
+ fra.me.meth = LOCATE_parser___ReduceAction198___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10043 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos202] = 1;
+ return;
+}
+void parser___ReduceAction199___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10047;
+ fra.me.meth = LOCATE_parser___ReduceAction199___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10059 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10059);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10061 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10061);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10063);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10065 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10065);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:10067 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10067);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10072 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10072);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10082 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction199___init(val_t p0, int* init_table){
+ int itpos203 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction199].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos203]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10084;
+ fra.me.meth = LOCATE_parser___ReduceAction199___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10084 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos203] = 1;
+ return;
+}
+void parser___ReduceAction200___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10088;
+ fra.me.meth = LOCATE_parser___ReduceAction200___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10100 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10100);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10102 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10102);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10104 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10104);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10106 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10106);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:10108 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10108);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10113 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10113);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10123 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction200___init(val_t p0, int* init_table){
+ int itpos204 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction200].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos204]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10125;
+ fra.me.meth = LOCATE_parser___ReduceAction200___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10125 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos204] = 1;
+ return;
+}
+void parser___ReduceAction201___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10129;
+ fra.me.meth = LOCATE_parser___ReduceAction201___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10141 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10141);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10143 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10143);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10145 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10145);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10147 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10147);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:10149 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10149);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10154 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10154);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10164 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction201___init(val_t p0, int* init_table){
+ int itpos205 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction201].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos205]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10166;
+ fra.me.meth = LOCATE_parser___ReduceAction201___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10166 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos205] = 1;
+ return;
+}
+void parser___ReduceAction202___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10170;
+ fra.me.meth = LOCATE_parser___ReduceAction202___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10182 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10182);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10184 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10184);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10186 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10186);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10188 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10188);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:10190 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10190);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10195 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10195);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10205 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction202___init(val_t p0, int* init_table){
+ int itpos206 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction202].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos206]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10207;
+ fra.me.meth = LOCATE_parser___ReduceAction202___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10207 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos206] = 1;
+ return;
+}
+void parser___ReduceAction203___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10211;
+ fra.me.meth = LOCATE_parser___ReduceAction203___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10223 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10223);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10225 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10225);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10227 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10227);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10229 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10229);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:10231 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10231);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10236 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10236);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10246 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction203___init(val_t p0, int* init_table){
+ int itpos207 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction203].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos207]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10248;
+ fra.me.meth = LOCATE_parser___ReduceAction203___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10248 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos207] = 1;
+ return;
+}
+void parser___ReduceAction204___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10252;
+ fra.me.meth = LOCATE_parser___ReduceAction204___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10264 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10264);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10266 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10266);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10268 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10268);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10270 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10270);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:10272 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10272);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10277 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10277);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10287 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction204___init(val_t p0, int* init_table){
+ int itpos208 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction204].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos208]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10289;
+ fra.me.meth = LOCATE_parser___ReduceAction204___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10289 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos208] = 1;
+ return;
+}
+void parser___ReduceAction205___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10293;
+ fra.me.meth = LOCATE_parser___ReduceAction205___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10305 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10305);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10307 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10307);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10309 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10309);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10311 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10311);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:10313 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10313);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10318);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10328 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction205___init(val_t p0, int* init_table){
+ int itpos209 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction205].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos209]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10330;
+ fra.me.meth = LOCATE_parser___ReduceAction205___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10330 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos209] = 1;
+ return;
+}
+void parser___ReduceAction206___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10334;
+ fra.me.meth = LOCATE_parser___ReduceAction206___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10346 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10346);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10348 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10348);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10350 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10350);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10352 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10352);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:10354 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10354);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10359 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10359);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10369 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction206___init(val_t p0, int* init_table){
+ int itpos210 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction206].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos210]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10371;
+ fra.me.meth = LOCATE_parser___ReduceAction206___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10371 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos210] = 1;
+ return;
+}
+void parser___ReduceAction207___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10375;
+ fra.me.meth = LOCATE_parser___ReduceAction207___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10387 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10387);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10389 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10389);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10391 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10391);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10393 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10393);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:10395 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10395);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10400 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10400);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10410 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction207___init(val_t p0, int* init_table){
+ int itpos211 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction207].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos211]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10412;
+ fra.me.meth = LOCATE_parser___ReduceAction207___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10412 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos211] = 1;
+ return;
+}
+void parser___ReduceAction208___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10416;
+ fra.me.meth = LOCATE_parser___ReduceAction208___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10428 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10428);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10430 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10430);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10432 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10432);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10434 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10434);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:10436 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10436);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10441 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10441);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10451 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction208___init(val_t p0, int* init_table){
+ int itpos212 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction208].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos212]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10453;
+ fra.me.meth = LOCATE_parser___ReduceAction208___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10453 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos212] = 1;
+ return;
+}
+void parser___ReduceAction209___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10457;
+ fra.me.meth = LOCATE_parser___ReduceAction209___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10469 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10469);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10471 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10471);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10473);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10475 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10475);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:10477 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10477);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10482);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10492 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction209___init(val_t p0, int* init_table){
+ int itpos213 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction209].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos213]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10494;
+ fra.me.meth = LOCATE_parser___ReduceAction209___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10494 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos213] = 1;
+ return;
+}
+void parser___ReduceAction210___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10498;
+ fra.me.meth = LOCATE_parser___ReduceAction210___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10511 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10511);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10513 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10513);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10515 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10515);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10517 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10517);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:10519 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10519);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:10521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10521);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10527 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10527);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10537 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction210___init(val_t p0, int* init_table){
+ int itpos214 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction210].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos214]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10539;
+ fra.me.meth = LOCATE_parser___ReduceAction210___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10539 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos214] = 1;
+ return;
+}
+void parser___ReduceAction211___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10543;
+ fra.me.meth = LOCATE_parser___ReduceAction211___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10555 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10555);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10559);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10561 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10561);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:10563 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10563);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10568);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10578 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction211___init(val_t p0, int* init_table){
+ int itpos215 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction211].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos215]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10580;
+ fra.me.meth = LOCATE_parser___ReduceAction211___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10580 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos215] = 1;
+ return;
+}
+void parser___ReduceAction212___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10584;
+ fra.me.meth = LOCATE_parser___ReduceAction212___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10597 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10597);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10599 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10599);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10601 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10601);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10603 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10603);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:10605 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10605);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:10607 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10607);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10613);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10623 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction212___init(val_t p0, int* init_table){
+ int itpos216 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction212].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos216]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10625;
+ fra.me.meth = LOCATE_parser___ReduceAction212___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10625 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos216] = 1;
+ return;
+}
+void parser___ReduceAction213___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10629;
+ fra.me.meth = LOCATE_parser___ReduceAction213___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10643 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10643);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:10645 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10645);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10647 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10647);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:10651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10651);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:10653 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10653);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:10655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10655);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10662 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10662);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10672 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction213___init(val_t p0, int* init_table){
+ int itpos217 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction213].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos217]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10674;
+ fra.me.meth = LOCATE_parser___ReduceAction213___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10674 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos217] = 1;
+ return;
+}
+void parser___ReduceAction214___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10678;
+ fra.me.meth = LOCATE_parser___ReduceAction214___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10689 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10689);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10691 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10691);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10693 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10693);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:10695 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10695);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10700 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10700);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10710 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction214___init(val_t p0, int* init_table){
+ int itpos218 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction214].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos218]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10712;
+ fra.me.meth = LOCATE_parser___ReduceAction214___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10712 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos218] = 1;
+ return;
+}
+void parser___ReduceAction215___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10716;
+ fra.me.meth = LOCATE_parser___ReduceAction215___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10727 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10727);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10729 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10729);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10731 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10731);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:10733 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10733);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10738 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10738);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10748 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction215___init(val_t p0, int* init_table){
+ int itpos219 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction215].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos219]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10750;
+ fra.me.meth = LOCATE_parser___ReduceAction215___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10750 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos219] = 1;
+ return;
+}
+void parser___ReduceAction216___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10754;
+ fra.me.meth = LOCATE_parser___ReduceAction216___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10767);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10769 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10769);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:10771 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10771);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10776 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10776);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10786 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction216___init(val_t p0, int* init_table){
+ int itpos220 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction216].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos220]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10788;
+ fra.me.meth = LOCATE_parser___ReduceAction216___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10788 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos220] = 1;
+ return;
+}
+void parser___ReduceAction217___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10792;
+ fra.me.meth = LOCATE_parser___ReduceAction217___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10803 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10803);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10805 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10805);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10807 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10807);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:10809 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10809);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10814 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10814);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10824 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction217___init(val_t p0, int* init_table){
+ int itpos221 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction217].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos221]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10826;
+ fra.me.meth = LOCATE_parser___ReduceAction217___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10826 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos221] = 1;
+ return;
+}
+void parser___ReduceAction218___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10830;
+ fra.me.meth = LOCATE_parser___ReduceAction218___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10841 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10841);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10843 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10843);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10845 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10845);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:10847 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10847);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10852 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10852);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10862 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction218___init(val_t p0, int* init_table){
+ int itpos222 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction218].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos222]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10864;
+ fra.me.meth = LOCATE_parser___ReduceAction218___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10864 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos222] = 1;
+ return;
+}
+void parser___ReduceAction219___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10868;
+ fra.me.meth = LOCATE_parser___ReduceAction219___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10879 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10879);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10881 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10881);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10883 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10883);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:10885 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10885);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10890 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10890);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10900 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction219___init(val_t p0, int* init_table){
+ int itpos223 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction219].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos223]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10902;
+ fra.me.meth = LOCATE_parser___ReduceAction219___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10902 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos223] = 1;
+ return;
+}
+void parser___ReduceAction220___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10906;
+ fra.me.meth = LOCATE_parser___ReduceAction220___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10917 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10917);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10919 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10919);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10921 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10921);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:10923 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10923);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10928 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10928);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10938 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction220___init(val_t p0, int* init_table){
+ int itpos224 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction220].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos224]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10940;
+ fra.me.meth = LOCATE_parser___ReduceAction220___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10940 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos224] = 1;
+ return;
+}
+void parser___ReduceAction221___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10944;
+ fra.me.meth = LOCATE_parser___ReduceAction221___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10955 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10955);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10957 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10957);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10959 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10959);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:10961 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10961);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:10966 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10966);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:10976 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction221___init(val_t p0, int* init_table){
+ int itpos225 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction221].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos225]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10978;
+ fra.me.meth = LOCATE_parser___ReduceAction221___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:10978 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos225] = 1;
+ return;
+}
+void parser___ReduceAction222___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 10982;
+ fra.me.meth = LOCATE_parser___ReduceAction222___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:10993 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10993);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:10995 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10995);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:10997 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10997);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:10999 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10999);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11004 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11004);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11014 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction222___init(val_t p0, int* init_table){
+ int itpos226 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction222].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos226]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11016;
+ fra.me.meth = LOCATE_parser___ReduceAction222___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11016 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos226] = 1;
+ return;
+}
+void parser___ReduceAction223___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11020;
+ fra.me.meth = LOCATE_parser___ReduceAction223___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11031 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11031);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11033 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11033);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11035 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11035);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:11037 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11037);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11042 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11042);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11052 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction223___init(val_t p0, int* init_table){
+ int itpos227 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction223].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos227]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11054;
+ fra.me.meth = LOCATE_parser___ReduceAction223___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11054 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos227] = 1;
+ return;
+}
+void parser___ReduceAction224___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11058;
+ fra.me.meth = LOCATE_parser___ReduceAction224___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11069 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11069);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11071 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11071);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11073 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11073);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:11075 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11075);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11080 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11080);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11090 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction224___init(val_t p0, int* init_table){
+ int itpos228 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction224].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos228]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11092;
+ fra.me.meth = LOCATE_parser___ReduceAction224___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11092 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos228] = 1;
+ return;
+}
+void parser___ReduceAction225___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11096;
+ fra.me.meth = LOCATE_parser___ReduceAction225___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11107 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11107);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11109 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11109);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11111 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11111);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:11113 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11113);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11118 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11118);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11128 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction225___init(val_t p0, int* init_table){
+ int itpos229 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction225].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos229]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11130;
+ fra.me.meth = LOCATE_parser___ReduceAction225___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11130 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos229] = 1;
+ return;
+}
+void parser___ReduceAction226___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11134;
+ fra.me.meth = LOCATE_parser___ReduceAction226___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11146 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11146);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11148 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11148);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11150 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11150);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:11152 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11152);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:11154 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11154);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11160 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11160);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11170 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction226___init(val_t p0, int* init_table){
+ int itpos230 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction226].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos230]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11172;
+ fra.me.meth = LOCATE_parser___ReduceAction226___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11172 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos230] = 1;
+ return;
+}
+void parser___ReduceAction227___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11176;
+ fra.me.meth = LOCATE_parser___ReduceAction227___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11187 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11187);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11189 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11189);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11191 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11191);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:11193 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11193);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11198 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11198);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11208 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction227___init(val_t p0, int* init_table){
+ int itpos231 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction227].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos231]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11210;
+ fra.me.meth = LOCATE_parser___ReduceAction227___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11210 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos231] = 1;
+ return;
+}
+void parser___ReduceAction228___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11214;
+ fra.me.meth = LOCATE_parser___ReduceAction228___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11226 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11226);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11228 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11228);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11230 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11230);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:11232 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11232);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:11234 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11234);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11240 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11240);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11250 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction228___init(val_t p0, int* init_table){
+ int itpos232 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction228].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos232]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11252;
+ fra.me.meth = LOCATE_parser___ReduceAction228___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11252 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos232] = 1;
+ return;
+}
+void parser___ReduceAction229___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11256;
+ fra.me.meth = LOCATE_parser___ReduceAction229___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11269 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11269);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11271 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11271);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11273 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11273);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:11275 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11275);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:11277 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11277);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:11279 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11279);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11286 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11286);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11296 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction229___init(val_t p0, int* init_table){
+ int itpos233 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction229].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos233]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11298;
+ fra.me.meth = LOCATE_parser___ReduceAction229___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11298 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos233] = 1;
+ return;
+}
+void parser___ReduceAction230___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11302;
+ fra.me.meth = LOCATE_parser___ReduceAction230___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11314 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11314);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11316 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11316);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11318);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11320 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11320);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:11322 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11322);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11327 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11327);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11337 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction230___init(val_t p0, int* init_table){
+ int itpos234 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction230].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos234]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11339;
+ fra.me.meth = LOCATE_parser___ReduceAction230___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11339 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos234] = 1;
+ return;
+}
+void parser___ReduceAction231___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11343;
+ fra.me.meth = LOCATE_parser___ReduceAction231___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11355 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11355);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11357 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11357);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11359 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11359);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11361 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11361);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:11363 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11363);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11368 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11368);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11378 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction231___init(val_t p0, int* init_table){
+ int itpos235 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction231].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos235]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11380;
+ fra.me.meth = LOCATE_parser___ReduceAction231___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11380 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos235] = 1;
+ return;
+}
+void parser___ReduceAction232___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11384;
+ fra.me.meth = LOCATE_parser___ReduceAction232___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11396 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11396);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11398 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11398);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11400 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11400);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11402 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11402);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:11404 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11404);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11409 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11409);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11419 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction232___init(val_t p0, int* init_table){
+ int itpos236 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction232].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos236]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11421;
+ fra.me.meth = LOCATE_parser___ReduceAction232___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11421 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos236] = 1;
+ return;
+}
+void parser___ReduceAction233___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11425;
+ fra.me.meth = LOCATE_parser___ReduceAction233___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11437 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11437);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11439 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11439);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11441 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11441);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11443 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11443);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:11445 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11445);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11450 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11450);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11460 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction233___init(val_t p0, int* init_table){
+ int itpos237 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction233].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos237]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11462;
+ fra.me.meth = LOCATE_parser___ReduceAction233___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11462 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos237] = 1;
+ return;
+}
+void parser___ReduceAction234___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11466;
+ fra.me.meth = LOCATE_parser___ReduceAction234___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11478 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11478);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11480);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11482);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11484 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11484);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:11486 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11486);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11491 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11491);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11501 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction234___init(val_t p0, int* init_table){
+ int itpos238 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction234].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos238]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11503;
+ fra.me.meth = LOCATE_parser___ReduceAction234___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11503 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos238] = 1;
+ return;
+}
+void parser___ReduceAction235___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11507;
+ fra.me.meth = LOCATE_parser___ReduceAction235___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11519 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11519);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11521);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11523);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11525 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11525);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:11527 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11527);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11532 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11532);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11542 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction235___init(val_t p0, int* init_table){
+ int itpos239 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction235].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos239]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11544;
+ fra.me.meth = LOCATE_parser___ReduceAction235___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11544 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos239] = 1;
+ return;
+}
+void parser___ReduceAction236___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11548;
+ fra.me.meth = LOCATE_parser___ReduceAction236___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11560 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11560);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11562 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11562);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11564 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11564);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11566 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11566);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:11568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11568);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11573 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11573);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11583 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction236___init(val_t p0, int* init_table){
+ int itpos240 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction236].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos240]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11585;
+ fra.me.meth = LOCATE_parser___ReduceAction236___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11585 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos240] = 1;
+ return;
+}
+void parser___ReduceAction237___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11589;
+ fra.me.meth = LOCATE_parser___ReduceAction237___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11601 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11601);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11603 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11603);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11605 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11605);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11607 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11607);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:11609 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11609);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11614 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11614);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11624 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction237___init(val_t p0, int* init_table){
+ int itpos241 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction237].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos241]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11626;
+ fra.me.meth = LOCATE_parser___ReduceAction237___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11626 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos241] = 1;
+ return;
+}
+void parser___ReduceAction238___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11630;
+ fra.me.meth = LOCATE_parser___ReduceAction238___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11642 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11642);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11644 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11644);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11646 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11646);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11648 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11648);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:11650 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11650);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11655);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11665 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction238___init(val_t p0, int* init_table){
+ int itpos242 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction238].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos242]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11667;
+ fra.me.meth = LOCATE_parser___ReduceAction238___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11667 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos242] = 1;
+ return;
+}
+void parser___ReduceAction239___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11671;
+ fra.me.meth = LOCATE_parser___ReduceAction239___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11683 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11683);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11685 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11685);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11687 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11687);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11689 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11689);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:11691 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11691);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11696);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11706 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction239___init(val_t p0, int* init_table){
+ int itpos243 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction239].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos243]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11708;
+ fra.me.meth = LOCATE_parser___ReduceAction239___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11708 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos243] = 1;
+ return;
+}
+void parser___ReduceAction240___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11712;
+ fra.me.meth = LOCATE_parser___ReduceAction240___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11724 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11724);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11726 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11726);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11728 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11728);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11730 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11730);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:11732 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11732);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11737 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11737);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11747 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction240___init(val_t p0, int* init_table){
+ int itpos244 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction240].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos244]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11749;
+ fra.me.meth = LOCATE_parser___ReduceAction240___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11749 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos244] = 1;
+ return;
+}
+void parser___ReduceAction241___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11753;
+ fra.me.meth = LOCATE_parser___ReduceAction241___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11767);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11769 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11769);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11771 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11771);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:11773 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11773);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11778 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11778);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11788 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction241___init(val_t p0, int* init_table){
+ int itpos245 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction241].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos245]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11790;
+ fra.me.meth = LOCATE_parser___ReduceAction241___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11790 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos245] = 1;
+ return;
+}
+void parser___ReduceAction242___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11794;
+ fra.me.meth = LOCATE_parser___ReduceAction242___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11807 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11807);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11809 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11809);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11811 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11811);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11813 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11813);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:11815 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11815);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:11817 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11817);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11823 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11823);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11833 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction242___init(val_t p0, int* init_table){
+ int itpos246 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction242].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos246]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11835;
+ fra.me.meth = LOCATE_parser___ReduceAction242___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11835 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos246] = 1;
+ return;
+}
+void parser___ReduceAction243___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11839;
+ fra.me.meth = LOCATE_parser___ReduceAction243___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11853);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11855 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11855);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11857 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11857);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:11859 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11859);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11864 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11864);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11874 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction243___init(val_t p0, int* init_table){
+ int itpos247 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction243].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos247]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11876;
+ fra.me.meth = LOCATE_parser___ReduceAction243___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11876 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos247] = 1;
+ return;
+}
+void parser___ReduceAction244___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11880;
+ fra.me.meth = LOCATE_parser___ReduceAction244___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11893 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11893);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11895 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11895);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11897 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11897);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11899 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11899);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:11901 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11901);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:11903 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11903);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11909 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11909);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11919 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction244___init(val_t p0, int* init_table){
+ int itpos248 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction244].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos248]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11921;
+ fra.me.meth = LOCATE_parser___ReduceAction244___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11921 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos248] = 1;
+ return;
+}
+void parser___ReduceAction245___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11925;
+ fra.me.meth = LOCATE_parser___ReduceAction245___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11939 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11939);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:11941 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11941);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11943 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11943);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11945 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11945);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:11947 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11947);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:11949 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11949);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:11951 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11951);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11958 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11958);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:11968 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction245___init(val_t p0, int* init_table){
+ int itpos249 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction245].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos249]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11970;
+ fra.me.meth = LOCATE_parser___ReduceAction245___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:11970 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos249] = 1;
+ return;
+}
+void parser___ReduceAction246___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 11974;
+ fra.me.meth = LOCATE_parser___ReduceAction246___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:11985 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11985);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:11987 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11987);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:11989 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11989);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:11991 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11991);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:11996 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11996);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12007 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction246___init(val_t p0, int* init_table){
+ int itpos250 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction246].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos250]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12009;
+ fra.me.meth = LOCATE_parser___ReduceAction246___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12009 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos250] = 1;
+ return;
+}
+void parser___ReduceAction247___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12013;
+ fra.me.meth = LOCATE_parser___ReduceAction247___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12024 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12024);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12026);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12028 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12028);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:12030 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12030);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12035 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12035);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12046 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction247___init(val_t p0, int* init_table){
+ int itpos251 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction247].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos251]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12048;
+ fra.me.meth = LOCATE_parser___ReduceAction247___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12048 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos251] = 1;
+ return;
+}
+void parser___ReduceAction248___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12052;
+ fra.me.meth = LOCATE_parser___ReduceAction248___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12063);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12065 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12065);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12067 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12067);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:12069 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12069);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12074 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12074);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12085 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction248___init(val_t p0, int* init_table){
+ int itpos252 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction248].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos252]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12087;
+ fra.me.meth = LOCATE_parser___ReduceAction248___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12087 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos252] = 1;
+ return;
+}
+void parser___ReduceAction249___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12091;
+ fra.me.meth = LOCATE_parser___ReduceAction249___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12102 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12102);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12104 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12104);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12106 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12106);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:12108 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12108);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12113 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12113);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12124 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction249___init(val_t p0, int* init_table){
+ int itpos253 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction249].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos253]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12126;
+ fra.me.meth = LOCATE_parser___ReduceAction249___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12126 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos253] = 1;
+ return;
+}
+void parser___ReduceAction250___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12130;
+ fra.me.meth = LOCATE_parser___ReduceAction250___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12141 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12141);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12143 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12143);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12145 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12145);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:12147 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12147);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12152 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12152);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12163 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction250___init(val_t p0, int* init_table){
+ int itpos254 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction250].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos254]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12165;
+ fra.me.meth = LOCATE_parser___ReduceAction250___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12165 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos254] = 1;
+ return;
+}
+void parser___ReduceAction251___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12169;
+ fra.me.meth = LOCATE_parser___ReduceAction251___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12180 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12180);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12182 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12182);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12184 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12184);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:12186 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12186);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12191 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12191);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12202 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction251___init(val_t p0, int* init_table){
+ int itpos255 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction251].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos255]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12204;
+ fra.me.meth = LOCATE_parser___ReduceAction251___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12204 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos255] = 1;
+ return;
+}
+void parser___ReduceAction252___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12208;
+ fra.me.meth = LOCATE_parser___ReduceAction252___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12219 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12219);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12221 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12221);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12223 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12223);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:12225 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12225);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12230 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12230);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12241 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction252___init(val_t p0, int* init_table){
+ int itpos256 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction252].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos256]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12243;
+ fra.me.meth = LOCATE_parser___ReduceAction252___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12243 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos256] = 1;
+ return;
+}
+void parser___ReduceAction253___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12247;
+ fra.me.meth = LOCATE_parser___ReduceAction253___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12258 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12258);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12260 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12260);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12262 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12262);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:12264 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12264);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12269 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12269);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12280 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction253___init(val_t p0, int* init_table){
+ int itpos257 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction253].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos257]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12282;
+ fra.me.meth = LOCATE_parser___ReduceAction253___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12282 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos257] = 1;
+ return;
+}
+void parser___ReduceAction254___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12286;
+ fra.me.meth = LOCATE_parser___ReduceAction254___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12297 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12297);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12299 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12299);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12301 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12301);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:12303 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12303);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12308 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12308);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12319 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction254___init(val_t p0, int* init_table){
+ int itpos258 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction254].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos258]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12321;
+ fra.me.meth = LOCATE_parser___ReduceAction254___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12321 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos258] = 1;
+ return;
+}
+void parser___ReduceAction255___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12325;
+ fra.me.meth = LOCATE_parser___ReduceAction255___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12336 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12336);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12338 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12338);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12340 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12340);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:12342 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12342);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12347 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12347);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12358 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction255___init(val_t p0, int* init_table){
+ int itpos259 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction255].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos259]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12360;
+ fra.me.meth = LOCATE_parser___ReduceAction255___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12360 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos259] = 1;
+ return;
+}
+void parser___ReduceAction256___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12364;
+ fra.me.meth = LOCATE_parser___ReduceAction256___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12375 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12375);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12377 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12377);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12379 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12379);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:12381 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12381);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12386 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12386);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12397 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction256___init(val_t p0, int* init_table){
+ int itpos260 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction256].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos260]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12399;
+ fra.me.meth = LOCATE_parser___ReduceAction256___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12399 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos260] = 1;
+ return;
+}
+void parser___ReduceAction257___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12403;
+ fra.me.meth = LOCATE_parser___ReduceAction257___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12414 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12414);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12416 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12416);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12418 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12418);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:12420 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12420);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12425 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12425);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12436 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction257___init(val_t p0, int* init_table){
+ int itpos261 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction257].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos261]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12438;
+ fra.me.meth = LOCATE_parser___ReduceAction257___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12438 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos261] = 1;
+ return;
+}
+void parser___ReduceAction258___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12442;
+ fra.me.meth = LOCATE_parser___ReduceAction258___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12454 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12454);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12456 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12456);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12458 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12458);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:12460 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12460);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:12462 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12462);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12468 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12468);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12479 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction258___init(val_t p0, int* init_table){
+ int itpos262 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction258].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos262]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12481;
+ fra.me.meth = LOCATE_parser___ReduceAction258___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12481 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos262] = 1;
+ return;
+}
+void parser___ReduceAction259___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12485;
+ fra.me.meth = LOCATE_parser___ReduceAction259___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12496 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12496);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12498 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12498);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12500 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12500);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:12502 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12502);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12507 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12507);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12518 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction259___init(val_t p0, int* init_table){
+ int itpos263 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction259].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos263]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12520;
+ fra.me.meth = LOCATE_parser___ReduceAction259___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12520 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos263] = 1;
+ return;
+}
+void parser___ReduceAction260___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12524;
+ fra.me.meth = LOCATE_parser___ReduceAction260___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12536 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12536);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12538 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12538);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12540 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12540);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:12542 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12542);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:12544 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12544);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12550 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12550);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12561 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction260___init(val_t p0, int* init_table){
+ int itpos264 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction260].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos264]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12563;
+ fra.me.meth = LOCATE_parser___ReduceAction260___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12563 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos264] = 1;
+ return;
+}
+void parser___ReduceAction261___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12567;
+ fra.me.meth = LOCATE_parser___ReduceAction261___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12580 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12580);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12582 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12582);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12584 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12584);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:12586 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12586);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:12588 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12588);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:12590 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12590);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12597 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12597);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12608 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction261___init(val_t p0, int* init_table){
+ int itpos265 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction261].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos265]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12610;
+ fra.me.meth = LOCATE_parser___ReduceAction261___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12610 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos265] = 1;
+ return;
+}
+void parser___ReduceAction262___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12614;
+ fra.me.meth = LOCATE_parser___ReduceAction262___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12626 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12626);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12628 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12628);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12630 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12630);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12632 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12632);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:12634 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12634);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12639 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12639);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12650 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction262___init(val_t p0, int* init_table){
+ int itpos266 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction262].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos266]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12652;
+ fra.me.meth = LOCATE_parser___ReduceAction262___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12652 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos266] = 1;
+ return;
+}
+void parser___ReduceAction263___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12656;
+ fra.me.meth = LOCATE_parser___ReduceAction263___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12668 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12668);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12670 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12670);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12672 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12672);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12674 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12674);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:12676 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12676);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12681 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12681);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12692 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction263___init(val_t p0, int* init_table){
+ int itpos267 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction263].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos267]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12694;
+ fra.me.meth = LOCATE_parser___ReduceAction263___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12694 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos267] = 1;
+ return;
+}
+void parser___ReduceAction264___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12698;
+ fra.me.meth = LOCATE_parser___ReduceAction264___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12710 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12710);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12712 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12712);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12714 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12714);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12716 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12716);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:12718 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12718);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12723 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12723);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12734 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction264___init(val_t p0, int* init_table){
+ int itpos268 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction264].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos268]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12736;
+ fra.me.meth = LOCATE_parser___ReduceAction264___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12736 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos268] = 1;
+ return;
+}
+void parser___ReduceAction265___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12740;
+ fra.me.meth = LOCATE_parser___ReduceAction265___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12752 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12752);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12754 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12754);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12756 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12756);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12758 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12758);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:12760 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12760);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12765);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12776 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction265___init(val_t p0, int* init_table){
+ int itpos269 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction265].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos269]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12778;
+ fra.me.meth = LOCATE_parser___ReduceAction265___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12778 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos269] = 1;
+ return;
+}
+void parser___ReduceAction266___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12782;
+ fra.me.meth = LOCATE_parser___ReduceAction266___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12794 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12794);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12796 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12796);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12798 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12798);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12800 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12800);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:12802 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12802);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12807 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12807);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12818 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction266___init(val_t p0, int* init_table){
+ int itpos270 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction266].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos270]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12820;
+ fra.me.meth = LOCATE_parser___ReduceAction266___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12820 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos270] = 1;
+ return;
+}
+void parser___ReduceAction267___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12824;
+ fra.me.meth = LOCATE_parser___ReduceAction267___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12836 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12836);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12838 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12838);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12840 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12840);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12842 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12842);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:12844 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12844);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12849 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12849);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12860 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction267___init(val_t p0, int* init_table){
+ int itpos271 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction267].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos271]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12862;
+ fra.me.meth = LOCATE_parser___ReduceAction267___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12862 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos271] = 1;
+ return;
+}
+void parser___ReduceAction268___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12866;
+ fra.me.meth = LOCATE_parser___ReduceAction268___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12878 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12878);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12880 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12880);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12882 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12882);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12884 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12884);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:12886 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12886);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12891 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12891);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12902 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction268___init(val_t p0, int* init_table){
+ int itpos272 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction268].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos272]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12904;
+ fra.me.meth = LOCATE_parser___ReduceAction268___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12904 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos272] = 1;
+ return;
+}
+void parser___ReduceAction269___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12908;
+ fra.me.meth = LOCATE_parser___ReduceAction269___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12920 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12920);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12922 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12922);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12924 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12924);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12926 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12926);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:12928 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12928);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12933 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12933);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12944 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction269___init(val_t p0, int* init_table){
+ int itpos273 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction269].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos273]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12946;
+ fra.me.meth = LOCATE_parser___ReduceAction269___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12946 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos273] = 1;
+ return;
+}
+void parser___ReduceAction270___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12950;
+ fra.me.meth = LOCATE_parser___ReduceAction270___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:12962 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12962);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:12964 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12964);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:12966 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12966);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:12968 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12968);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:12970 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12970);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:12975 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12975);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:12986 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction270___init(val_t p0, int* init_table){
+ int itpos274 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction270].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos274]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12988;
+ fra.me.meth = LOCATE_parser___ReduceAction270___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:12988 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos274] = 1;
+ return;
+}
+void parser___ReduceAction271___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 12992;
+ fra.me.meth = LOCATE_parser___ReduceAction271___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13004 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13004);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13006 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13006);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13008 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13008);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13010 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13010);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:13012 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13012);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13017 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13017);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13028 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction271___init(val_t p0, int* init_table){
+ int itpos275 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction271].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos275]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13030;
+ fra.me.meth = LOCATE_parser___ReduceAction271___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13030 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos275] = 1;
+ return;
+}
+void parser___ReduceAction272___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13034;
+ fra.me.meth = LOCATE_parser___ReduceAction272___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13046 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13046);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13048 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13048);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13050 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13050);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13052 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13052);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:13054 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13054);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13059 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13059);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13070 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction272___init(val_t p0, int* init_table){
+ int itpos276 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction272].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos276]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13072;
+ fra.me.meth = LOCATE_parser___ReduceAction272___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13072 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos276] = 1;
+ return;
+}
+void parser___ReduceAction273___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13076;
+ fra.me.meth = LOCATE_parser___ReduceAction273___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13088 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13088);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13090 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13090);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13092 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13092);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13094 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13094);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:13096 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13096);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13101 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13101);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13112 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction273___init(val_t p0, int* init_table){
+ int itpos277 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction273].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos277]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13114;
+ fra.me.meth = LOCATE_parser___ReduceAction273___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13114 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos277] = 1;
+ return;
+}
+void parser___ReduceAction274___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13118;
+ fra.me.meth = LOCATE_parser___ReduceAction274___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13131 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13131);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13133 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13133);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13135 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13135);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13137 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13137);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:13139 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13139);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:13141 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13141);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13147 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13147);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13158 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction274___init(val_t p0, int* init_table){
+ int itpos278 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction274].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos278]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13160;
+ fra.me.meth = LOCATE_parser___ReduceAction274___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13160 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos278] = 1;
+ return;
+}
+void parser___ReduceAction275___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13164;
+ fra.me.meth = LOCATE_parser___ReduceAction275___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13176 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13176);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13178 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13178);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13180 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13180);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13182 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13182);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:13184 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13184);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13189 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13189);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13200 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction275___init(val_t p0, int* init_table){
+ int itpos279 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction275].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos279]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13202;
+ fra.me.meth = LOCATE_parser___ReduceAction275___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13202 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos279] = 1;
+ return;
+}
+void parser___ReduceAction276___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13206;
+ fra.me.meth = LOCATE_parser___ReduceAction276___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13219 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13219);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13221 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13221);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13223 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13223);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13225 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13225);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:13227 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13227);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:13229 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13229);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13235 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13235);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13246 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction276___init(val_t p0, int* init_table){
+ int itpos280 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction276].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos280]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13248;
+ fra.me.meth = LOCATE_parser___ReduceAction276___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13248 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos280] = 1;
+ return;
+}
+void parser___ReduceAction277___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13252;
+ fra.me.meth = LOCATE_parser___ReduceAction277___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13266 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13266);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:13268 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13268);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13270 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13270);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13272 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13272);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:13274 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13274);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:13276 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13276);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:13278 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13278);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13285 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13285);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13296 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction277___init(val_t p0, int* init_table){
+ int itpos281 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction277].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos281]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13298;
+ fra.me.meth = LOCATE_parser___ReduceAction277___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13298 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos281] = 1;
+ return;
+}
+void parser___ReduceAction278___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13302;
+ fra.me.meth = LOCATE_parser___ReduceAction278___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13314 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13314);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13316 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13316);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13318);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:13320 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13320);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13325 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13325);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13327 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13327);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13338 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction278___init(val_t p0, int* init_table){
+ int itpos282 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction278].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos282]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13340;
+ fra.me.meth = LOCATE_parser___ReduceAction278___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13340 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos282] = 1;
+ return;
+}
+void parser___ReduceAction279___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13344;
+ fra.me.meth = LOCATE_parser___ReduceAction279___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13356 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13356);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13358 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13358);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13360 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13360);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:13362 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13362);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13367 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13367);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13369 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13369);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13380 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction279___init(val_t p0, int* init_table){
+ int itpos283 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction279].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos283]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13382;
+ fra.me.meth = LOCATE_parser___ReduceAction279___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13382 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos283] = 1;
+ return;
+}
+void parser___ReduceAction280___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13386;
+ fra.me.meth = LOCATE_parser___ReduceAction280___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13398 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13398);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13400 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13400);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13402 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13402);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:13404 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13404);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13409 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13409);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13411 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13411);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13422 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction280___init(val_t p0, int* init_table){
+ int itpos284 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction280].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos284]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13424;
+ fra.me.meth = LOCATE_parser___ReduceAction280___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13424 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos284] = 1;
+ return;
+}
+void parser___ReduceAction281___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13428;
+ fra.me.meth = LOCATE_parser___ReduceAction281___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13440 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13440);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13442 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13442);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13444 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13444);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:13446 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13446);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13451 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13451);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13453 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13453);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13464 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction281___init(val_t p0, int* init_table){
+ int itpos285 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction281].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos285]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13466;
+ fra.me.meth = LOCATE_parser___ReduceAction281___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13466 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos285] = 1;
+ return;
+}
+void parser___ReduceAction282___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13470;
+ fra.me.meth = LOCATE_parser___ReduceAction282___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13482);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13484 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13484);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13486 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13486);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:13488 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13488);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13493 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13493);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13495 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13495);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13506 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction282___init(val_t p0, int* init_table){
+ int itpos286 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction282].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos286]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13508;
+ fra.me.meth = LOCATE_parser___ReduceAction282___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13508 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos286] = 1;
+ return;
+}
+void parser___ReduceAction283___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13512;
+ fra.me.meth = LOCATE_parser___ReduceAction283___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13524 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13524);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13526 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13526);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13528 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13528);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:13530 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13530);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13535 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13535);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13537 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13537);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13548 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction283___init(val_t p0, int* init_table){
+ int itpos287 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction283].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos287]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13550;
+ fra.me.meth = LOCATE_parser___ReduceAction283___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13550 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos287] = 1;
+ return;
+}
+void parser___ReduceAction284___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13554;
+ fra.me.meth = LOCATE_parser___ReduceAction284___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13566 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13566);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13568);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13570 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13570);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:13572 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13572);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13577 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13577);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13579 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13579);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13590 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction284___init(val_t p0, int* init_table){
+ int itpos288 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction284].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos288]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13592;
+ fra.me.meth = LOCATE_parser___ReduceAction284___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13592 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos288] = 1;
+ return;
+}
+void parser___ReduceAction285___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13596;
+ fra.me.meth = LOCATE_parser___ReduceAction285___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13608 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13608);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13610 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13610);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13612 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13612);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:13614 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13614);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13619 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13619);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13621 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13621);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13632 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction285___init(val_t p0, int* init_table){
+ int itpos289 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction285].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos289]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13634;
+ fra.me.meth = LOCATE_parser___ReduceAction285___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13634 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos289] = 1;
+ return;
+}
+void parser___ReduceAction286___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13638;
+ fra.me.meth = LOCATE_parser___ReduceAction286___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13650 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13650);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13652 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13652);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13654 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13654);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:13656 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13656);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13661 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13661);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13663 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13663);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13674 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction286___init(val_t p0, int* init_table){
+ int itpos290 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction286].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos290]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13676;
+ fra.me.meth = LOCATE_parser___ReduceAction286___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13676 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos290] = 1;
+ return;
+}
+void parser___ReduceAction287___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13680;
+ fra.me.meth = LOCATE_parser___ReduceAction287___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13692 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13692);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13694 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13694);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:13698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13698);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13703 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13703);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13705 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13705);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13716 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction287___init(val_t p0, int* init_table){
+ int itpos291 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction287].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos291]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13718;
+ fra.me.meth = LOCATE_parser___ReduceAction287___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13718 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos291] = 1;
+ return;
+}
+void parser___ReduceAction288___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13722;
+ fra.me.meth = LOCATE_parser___ReduceAction288___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13734 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13734);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13736 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13736);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13738 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13738);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:13740 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13740);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13745 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13745);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13747 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13747);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13758 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction288___init(val_t p0, int* init_table){
+ int itpos292 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction288].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos292]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13760;
+ fra.me.meth = LOCATE_parser___ReduceAction288___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13760 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos292] = 1;
+ return;
+}
+void parser___ReduceAction289___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13764;
+ fra.me.meth = LOCATE_parser___ReduceAction289___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13776 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13776);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13778 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13778);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13780 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13780);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:13782 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13782);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13787 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13787);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13789 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13789);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13800 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction289___init(val_t p0, int* init_table){
+ int itpos293 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction289].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos293]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13802;
+ fra.me.meth = LOCATE_parser___ReduceAction289___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13802 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos293] = 1;
+ return;
+}
+void parser___ReduceAction290___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13806;
+ fra.me.meth = LOCATE_parser___ReduceAction290___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13819 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13819);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13821 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13821);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13823 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13823);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:13825 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13825);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:13827 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13827);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13833 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13833);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13835 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13835);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13846 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction290___init(val_t p0, int* init_table){
+ int itpos294 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction290].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos294]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13848;
+ fra.me.meth = LOCATE_parser___ReduceAction290___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13848 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos294] = 1;
+ return;
+}
+void parser___ReduceAction291___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13852;
+ fra.me.meth = LOCATE_parser___ReduceAction291___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13864 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13864);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13866 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13866);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13868 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13868);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:13870 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13870);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13875 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13875);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13877 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13877);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13888 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction291___init(val_t p0, int* init_table){
+ int itpos295 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction291].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos295]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13890;
+ fra.me.meth = LOCATE_parser___ReduceAction291___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13890 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos295] = 1;
+ return;
+}
+void parser___ReduceAction292___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13894;
+ fra.me.meth = LOCATE_parser___ReduceAction292___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13907 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13907);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13909 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13909);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13911 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13911);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:13913 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13913);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:13915 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13915);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13921 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13921);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13923 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13923);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13934 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction292___init(val_t p0, int* init_table){
+ int itpos296 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction292].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos296]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13936;
+ fra.me.meth = LOCATE_parser___ReduceAction292___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13936 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos296] = 1;
+ return;
+}
+void parser___ReduceAction293___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13940;
+ fra.me.meth = LOCATE_parser___ReduceAction293___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:13954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13954);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:13956 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13956);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:13958 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13958);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:13960 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13960);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:13962 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13962);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:13964 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13964);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:13971 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13971);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:13973 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13973);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:13984 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction293___init(val_t p0, int* init_table){
+ int itpos297 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction293].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos297]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13986;
+ fra.me.meth = LOCATE_parser___ReduceAction293___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:13986 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos297] = 1;
+ return;
+}
+void parser___ReduceAction294___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 13990;
+ fra.me.meth = LOCATE_parser___ReduceAction294___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14003 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14003);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14005 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14005);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14007 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14007);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14009 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14009);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:14011 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14011);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14016 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14016);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14018 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14018);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14029 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction294___init(val_t p0, int* init_table){
+ int itpos298 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction294].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos298]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14031;
+ fra.me.meth = LOCATE_parser___ReduceAction294___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14031 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos298] = 1;
+ return;
+}
+void parser___ReduceAction295___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14035;
+ fra.me.meth = LOCATE_parser___ReduceAction295___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14048 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14048);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14050 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14050);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14052 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14052);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14054 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14054);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:14056 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14056);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14061 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14061);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14063);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14074 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction295___init(val_t p0, int* init_table){
+ int itpos299 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction295].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos299]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14076;
+ fra.me.meth = LOCATE_parser___ReduceAction295___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14076 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos299] = 1;
+ return;
+}
+void parser___ReduceAction296___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14080;
+ fra.me.meth = LOCATE_parser___ReduceAction296___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14093 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14093);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14095 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14095);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14097 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14097);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14099 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14099);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:14101 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14101);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14106 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14106);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14108 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14108);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14119 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction296___init(val_t p0, int* init_table){
+ int itpos300 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction296].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos300]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14121;
+ fra.me.meth = LOCATE_parser___ReduceAction296___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14121 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos300] = 1;
+ return;
+}
+void parser___ReduceAction297___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14125;
+ fra.me.meth = LOCATE_parser___ReduceAction297___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14138 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14138);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14140 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14140);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14142 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14142);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14144 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14144);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:14146 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14146);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14151 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14151);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14153 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14153);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14164 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction297___init(val_t p0, int* init_table){
+ int itpos301 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction297].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos301]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14166;
+ fra.me.meth = LOCATE_parser___ReduceAction297___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14166 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos301] = 1;
+ return;
+}
+void parser___ReduceAction298___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14170;
+ fra.me.meth = LOCATE_parser___ReduceAction298___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14183 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14183);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14185 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14185);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14187 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14187);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14189 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14189);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:14191 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14191);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14196 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14196);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14198 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14198);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14209 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction298___init(val_t p0, int* init_table){
+ int itpos302 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction298].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos302]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14211;
+ fra.me.meth = LOCATE_parser___ReduceAction298___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14211 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos302] = 1;
+ return;
+}
+void parser___ReduceAction299___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14215;
+ fra.me.meth = LOCATE_parser___ReduceAction299___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14228 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14228);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14230 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14230);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14232 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14232);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14234 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14234);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:14236 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14236);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14241 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14241);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14243 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14243);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14254 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction299___init(val_t p0, int* init_table){
+ int itpos303 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction299].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos303]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14256;
+ fra.me.meth = LOCATE_parser___ReduceAction299___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14256 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos303] = 1;
+ return;
+}
+void parser___ReduceAction300___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14260;
+ fra.me.meth = LOCATE_parser___ReduceAction300___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14273 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14273);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14275 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14275);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14277 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14277);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14279 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14279);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:14281 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14281);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14286 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14286);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14288 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14288);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14299 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction300___init(val_t p0, int* init_table){
+ int itpos304 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction300].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos304]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14301;
+ fra.me.meth = LOCATE_parser___ReduceAction300___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14301 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos304] = 1;
+ return;
+}
+void parser___ReduceAction301___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14305;
+ fra.me.meth = LOCATE_parser___ReduceAction301___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14318);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14320 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14320);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14322 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14322);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14324 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14324);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:14326 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14326);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14331 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14331);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14333 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14333);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14344 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction301___init(val_t p0, int* init_table){
+ int itpos305 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction301].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos305]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14346;
+ fra.me.meth = LOCATE_parser___ReduceAction301___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14346 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos305] = 1;
+ return;
+}
+void parser___ReduceAction302___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14350;
+ fra.me.meth = LOCATE_parser___ReduceAction302___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14363 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14363);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14365 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14365);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14367 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14367);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14369 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14369);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:14371 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14371);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14376 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14376);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14378 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14378);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14389 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction302___init(val_t p0, int* init_table){
+ int itpos306 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction302].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos306]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14391;
+ fra.me.meth = LOCATE_parser___ReduceAction302___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14391 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos306] = 1;
+ return;
+}
+void parser___ReduceAction303___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14395;
+ fra.me.meth = LOCATE_parser___ReduceAction303___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14408 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14408);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14410 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14410);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14412 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14412);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14414 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14414);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:14416 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14416);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14421 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14421);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14423 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14423);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14434 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction303___init(val_t p0, int* init_table){
+ int itpos307 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction303].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos307]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14436;
+ fra.me.meth = LOCATE_parser___ReduceAction303___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14436 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos307] = 1;
+ return;
+}
+void parser___ReduceAction304___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14440;
+ fra.me.meth = LOCATE_parser___ReduceAction304___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14453 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14453);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14455 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14455);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14457 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14457);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14459 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14459);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:14461 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14461);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14466 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14466);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14468 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14468);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14479 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction304___init(val_t p0, int* init_table){
+ int itpos308 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction304].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos308]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14481;
+ fra.me.meth = LOCATE_parser___ReduceAction304___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14481 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos308] = 1;
+ return;
+}
+void parser___ReduceAction305___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14485;
+ fra.me.meth = LOCATE_parser___ReduceAction305___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14498 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14498);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14500 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14500);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14502 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14502);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14504 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14504);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:14506 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14506);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14511 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14511);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14513 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14513);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14524 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction305___init(val_t p0, int* init_table){
+ int itpos309 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction305].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos309]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14526;
+ fra.me.meth = LOCATE_parser___ReduceAction305___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14526 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos309] = 1;
+ return;
+}
+void parser___ReduceAction306___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14530;
+ fra.me.meth = LOCATE_parser___ReduceAction306___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14544 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14544);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14546 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14546);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14548 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14548);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14550 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14550);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:14552 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14552);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:14554 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14554);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14560 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14560);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14562 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14562);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14573 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction306___init(val_t p0, int* init_table){
+ int itpos310 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction306].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos310]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14575;
+ fra.me.meth = LOCATE_parser___ReduceAction306___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14575 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos310] = 1;
+ return;
+}
+void parser___ReduceAction307___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14579;
+ fra.me.meth = LOCATE_parser___ReduceAction307___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14592 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14592);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14594 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14594);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14596 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14596);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14598 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14598);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:14600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14600);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14605 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14605);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14607 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14607);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14618 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction307___init(val_t p0, int* init_table){
+ int itpos311 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction307].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos311]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14620;
+ fra.me.meth = LOCATE_parser___ReduceAction307___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14620 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos311] = 1;
+ return;
+}
+void parser___ReduceAction308___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14624;
+ fra.me.meth = LOCATE_parser___ReduceAction308___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14638 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14638);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14640 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14640);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14642 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14642);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14644 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14644);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:14646 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14646);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:14648 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14648);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14654 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14654);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14656 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14656);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14667 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction308___init(val_t p0, int* init_table){
+ int itpos312 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction308].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos312]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14669;
+ fra.me.meth = LOCATE_parser___ReduceAction308___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14669 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos312] = 1;
+ return;
+}
+void parser___ReduceAction309___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14673;
+ fra.me.meth = LOCATE_parser___ReduceAction309___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14688 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14688);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14690 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14690);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14692 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14692);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ /* ./parser//parser.nit:14694 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14694);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:14696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:14698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14698);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:14700 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14700);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:14707 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14707);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ /* ./parser//parser.nit:14709 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14709);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14720 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction309___init(val_t p0, int* init_table){
+ int itpos313 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction309].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos313]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14722;
+ fra.me.meth = LOCATE_parser___ReduceAction309___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14722 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos313] = 1;
+ return;
+}
+void parser___ReduceAction310___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14726;
+ fra.me.meth = LOCATE_parser___ReduceAction310___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14736 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14736);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14738 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14738);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:14744 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14744);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14750 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14750);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14752 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14752);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14754 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14754);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14767 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction310___init(val_t p0, int* init_table){
+ int itpos314 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction310].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos314]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14769;
+ fra.me.meth = LOCATE_parser___ReduceAction310___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14769 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos314] = 1;
+ return;
+}
+void parser___ReduceAction311___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14773;
+ fra.me.meth = LOCATE_parser___ReduceAction311___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14784 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14784);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14786 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14786);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14792 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14792);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:14794 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14794);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14800 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14800);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14802 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14802);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14804 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14804);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14817 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction311___init(val_t p0, int* init_table){
+ int itpos315 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction311].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos315]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14819;
+ fra.me.meth = LOCATE_parser___ReduceAction311___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14819 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos315] = 1;
+ return;
+}
+void parser___ReduceAction312___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14823;
+ fra.me.meth = LOCATE_parser___ReduceAction312___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14832 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14832);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14834 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14834);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14840 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14840);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14842 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14842);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14844 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14844);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14857 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction312___init(val_t p0, int* init_table){
+ int itpos316 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction312].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos316]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14859;
+ fra.me.meth = LOCATE_parser___ReduceAction312___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14859 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos316] = 1;
+ return;
+}
+void parser___ReduceAction313___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14863;
+ fra.me.meth = LOCATE_parser___ReduceAction313___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14874 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14874);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14876 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14876);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14878 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14878);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:14884 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14884);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14890 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14890);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14892 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14892);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14894 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14894);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14907 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction313___init(val_t p0, int* init_table){
+ int itpos317 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction313].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos317]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14909;
+ fra.me.meth = LOCATE_parser___ReduceAction313___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14909 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos317] = 1;
+ return;
+}
+void parser___ReduceAction314___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14913;
+ fra.me.meth = LOCATE_parser___ReduceAction314___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14925 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14925);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14927 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14927);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14929 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14929);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14935 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14935);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:14937 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14937);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14943 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14943);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14945 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14945);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14947 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14947);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:14960 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction314___init(val_t p0, int* init_table){
+ int itpos318 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction314].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos318]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14962;
+ fra.me.meth = LOCATE_parser___ReduceAction314___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:14962 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos318] = 1;
+ return;
+}
+void parser___ReduceAction315___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 14966;
+ fra.me.meth = LOCATE_parser___ReduceAction315___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:14976 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14976);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:14978 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14978);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:14980 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14980);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[6], fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:14986 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14986);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:14988 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14988);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:14990 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14990);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15003 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction315___init(val_t p0, int* init_table){
+ int itpos319 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction315].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos319]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15005;
+ fra.me.meth = LOCATE_parser___ReduceAction315___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15005 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos319] = 1;
+ return;
+}
+void parser___ReduceAction316___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15009;
+ fra.me.meth = LOCATE_parser___ReduceAction316___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15018 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15018);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15020 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15020);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15026);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15028 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15028);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15030 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15030);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15043 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction316___init(val_t p0, int* init_table){
+ int itpos320 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction316].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos320]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15045;
+ fra.me.meth = LOCATE_parser___ReduceAction316___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15045 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos320] = 1;
+ return;
+}
+void parser___ReduceAction317___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15049;
+ fra.me.meth = LOCATE_parser___ReduceAction317___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15059 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15059);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15061 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15061);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15063);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15069 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15069);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15071 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15071);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15073 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15073);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15086 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction317___init(val_t p0, int* init_table){
+ int itpos321 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction317].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos321]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15088;
+ fra.me.meth = LOCATE_parser___ReduceAction317___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15088 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos321] = 1;
+ return;
+}
+void parser___ReduceAction318___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15092;
+ fra.me.meth = LOCATE_parser___ReduceAction318___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15100 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15100);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15102 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15102);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15104 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15104);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15106 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15106);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[5], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15119 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction318___init(val_t p0, int* init_table){
+ int itpos322 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction318].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos322]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15121;
+ fra.me.meth = LOCATE_parser___ReduceAction318___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15121 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos322] = 1;
+ return;
+}
+void parser___ReduceAction319___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15125;
+ fra.me.meth = LOCATE_parser___ReduceAction319___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15136 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15136);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15138 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15138);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15144 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15144);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15150 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15150);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15152 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15152);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15154 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15154);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15156 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15156);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15169 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction319___init(val_t p0, int* init_table){
+ int itpos323 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction319].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos323]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15171;
+ fra.me.meth = LOCATE_parser___ReduceAction319___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15171 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos323] = 1;
+ return;
+}
+void parser___ReduceAction320___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15175;
+ fra.me.meth = LOCATE_parser___ReduceAction320___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15187 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15187);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15189 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15189);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15195 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15195);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15197 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15197);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15203 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15203);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15205 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15205);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15207 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15207);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15209 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15209);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15222 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction320___init(val_t p0, int* init_table){
+ int itpos324 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction320].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos324]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15224;
+ fra.me.meth = LOCATE_parser___ReduceAction320___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15224 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos324] = 1;
+ return;
+}
+void parser___ReduceAction321___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15228;
+ fra.me.meth = LOCATE_parser___ReduceAction321___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15238 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15238);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15240 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15240);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15246 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15246);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15248 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15248);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15250 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15250);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15252 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15252);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15265 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction321___init(val_t p0, int* init_table){
+ int itpos325 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction321].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos325]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15267;
+ fra.me.meth = LOCATE_parser___ReduceAction321___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15267 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos325] = 1;
+ return;
+}
+void parser___ReduceAction322___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15271;
+ fra.me.meth = LOCATE_parser___ReduceAction322___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15283 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15283);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15285 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15285);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15287 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15287);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15293 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15293);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15299 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15299);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15301 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15301);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15303 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15303);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15305 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15305);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15318 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction322___init(val_t p0, int* init_table){
+ int itpos326 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction322].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos326]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15320;
+ fra.me.meth = LOCATE_parser___ReduceAction322___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15320 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos326] = 1;
+ return;
+}
+void parser___ReduceAction323___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15324;
+ fra.me.meth = LOCATE_parser___ReduceAction323___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15337 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15337);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15339 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15339);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15341 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15341);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15347 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15347);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15349 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15349);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15355 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15355);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15357 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15357);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15359 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15359);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15361 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15361);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15374 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction323___init(val_t p0, int* init_table){
+ int itpos327 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction323].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos327]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15376;
+ fra.me.meth = LOCATE_parser___ReduceAction323___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15376 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos327] = 1;
+ return;
+}
+void parser___ReduceAction324___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15380;
+ fra.me.meth = LOCATE_parser___ReduceAction324___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15391 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15391);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15393 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15393);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15395 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15395);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15401 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15401);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15403 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15403);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15405 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15405);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15407 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15407);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15420 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction324___init(val_t p0, int* init_table){
+ int itpos328 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction324].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos328]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15422;
+ fra.me.meth = LOCATE_parser___ReduceAction324___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15422 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos328] = 1;
+ return;
+}
+void parser___ReduceAction325___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15426;
+ fra.me.meth = LOCATE_parser___ReduceAction325___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15436 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15436);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15438 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15438);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15444 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15444);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15446 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15446);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15448 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15448);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15450 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15450);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15463 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction325___init(val_t p0, int* init_table){
+ int itpos329 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction325].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos329]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15465;
+ fra.me.meth = LOCATE_parser___ReduceAction325___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15465 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos329] = 1;
+ return;
+}
+void parser___ReduceAction326___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15469;
+ fra.me.meth = LOCATE_parser___ReduceAction326___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15480);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15482);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15484 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15484);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15490 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15490);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15492 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15492);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15494 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15494);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15496 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15496);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15509 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction326___init(val_t p0, int* init_table){
+ int itpos330 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction326].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos330]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15511;
+ fra.me.meth = LOCATE_parser___ReduceAction326___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15511 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos330] = 1;
+ return;
+}
+void parser___ReduceAction327___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15515;
+ fra.me.meth = LOCATE_parser___ReduceAction327___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15524 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15524);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15526 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15526);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15528 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15528);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15530 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15530);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15532 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15532);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15545 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction327___init(val_t p0, int* init_table){
+ int itpos331 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction327].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos331]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15547;
+ fra.me.meth = LOCATE_parser___ReduceAction327___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15547 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos331] = 1;
+ return;
+}
+void parser___ReduceAction328___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15551;
+ fra.me.meth = LOCATE_parser___ReduceAction328___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15562 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15562);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15564 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15564);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15570 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15570);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15576 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15576);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15578 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15578);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15580 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15580);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15582 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15582);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15595 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction328___init(val_t p0, int* init_table){
+ int itpos332 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction328].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos332]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15597;
+ fra.me.meth = LOCATE_parser___ReduceAction328___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15597 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos332] = 1;
+ return;
+}
+void parser___ReduceAction329___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15601;
+ fra.me.meth = LOCATE_parser___ReduceAction329___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15613);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15615 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15615);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15621 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15621);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15623 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15623);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15629 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15629);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15631 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15631);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15633 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15633);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15635 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15635);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15648 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction329___init(val_t p0, int* init_table){
+ int itpos333 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction329].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos333]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15650;
+ fra.me.meth = LOCATE_parser___ReduceAction329___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15650 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos333] = 1;
+ return;
+}
+void parser___ReduceAction330___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15654;
+ fra.me.meth = LOCATE_parser___ReduceAction330___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15664 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15664);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15666 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15666);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15672 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15672);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15674 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15674);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15676 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15676);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15678 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15678);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15691 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction330___init(val_t p0, int* init_table){
+ int itpos334 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction330].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos334]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15693;
+ fra.me.meth = LOCATE_parser___ReduceAction330___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15693 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos334] = 1;
+ return;
+}
+void parser___ReduceAction331___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15697;
+ fra.me.meth = LOCATE_parser___ReduceAction331___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15709 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15709);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15711 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15711);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15713 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15713);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15719 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15719);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15725 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15725);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15727 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15727);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15729 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15729);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15731 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15731);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15744 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction331___init(val_t p0, int* init_table){
+ int itpos335 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction331].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos335]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15746;
+ fra.me.meth = LOCATE_parser___ReduceAction331___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15746 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos335] = 1;
+ return;
+}
+void parser___ReduceAction332___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15750;
+ fra.me.meth = LOCATE_parser___ReduceAction332___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15763 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15763);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15767);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15773 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15773);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15775 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15775);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15781 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15781);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15783 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15783);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15785 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15785);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15787 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15787);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15800 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction332___init(val_t p0, int* init_table){
+ int itpos336 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction332].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos336]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15802;
+ fra.me.meth = LOCATE_parser___ReduceAction332___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15802 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos336] = 1;
+ return;
+}
+void parser___ReduceAction333___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15806;
+ fra.me.meth = LOCATE_parser___ReduceAction333___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15817 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15817);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15819 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15819);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15821 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15821);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15827 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15827);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15829 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15829);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15831 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15831);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15833 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15833);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15846 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction333___init(val_t p0, int* init_table){
+ int itpos337 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction333].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos337]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15848;
+ fra.me.meth = LOCATE_parser___ReduceAction333___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15848 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos337] = 1;
+ return;
+}
+void parser___ReduceAction334___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15852;
+ fra.me.meth = LOCATE_parser___ReduceAction334___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15862 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15862);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15864 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15864);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15870 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15870);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15872 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15872);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15874 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15874);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15876 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15876);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15889 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction334___init(val_t p0, int* init_table){
+ int itpos338 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction334].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos338]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15891;
+ fra.me.meth = LOCATE_parser___ReduceAction334___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15891 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos338] = 1;
+ return;
+}
+void parser___ReduceAction335___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15895;
+ fra.me.meth = LOCATE_parser___ReduceAction335___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15906 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15906);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:15908 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15908);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15910 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15910);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15916 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15916);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15918 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15918);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15920 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15920);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15922 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15922);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15935 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction335___init(val_t p0, int* init_table){
+ int itpos339 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction335].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos339]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15937;
+ fra.me.meth = LOCATE_parser___ReduceAction335___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15937 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos339] = 1;
+ return;
+}
+void parser___ReduceAction336___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15941;
+ fra.me.meth = LOCATE_parser___ReduceAction336___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15950 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15950);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:15952 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15952);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:15954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15954);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:15956 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15956);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:15958 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15958);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:15971 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction336___init(val_t p0, int* init_table){
+ int itpos340 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction336].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos340]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15973;
+ fra.me.meth = LOCATE_parser___ReduceAction336___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:15973 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos340] = 1;
+ return;
+}
+void parser___ReduceAction337___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 15977;
+ fra.me.meth = LOCATE_parser___ReduceAction337___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:15989 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15989);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:15991 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15991);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:15997 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15997);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16003 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16003);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16005 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16005);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16007 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16007);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16009 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16009);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16011 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16011);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16024 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction337___init(val_t p0, int* init_table){
+ int itpos341 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction337].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos341]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16026;
+ fra.me.meth = LOCATE_parser___ReduceAction337___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16026 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos341] = 1;
+ return;
+}
+void parser___ReduceAction338___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16030;
+ fra.me.meth = LOCATE_parser___ReduceAction338___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16043 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16043);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16045 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16045);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16051 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16051);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16053 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16053);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16059 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16059);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16061 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16061);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16063);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16065 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16065);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16067 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16067);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16080 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction338___init(val_t p0, int* init_table){
+ int itpos342 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction338].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos342]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16082;
+ fra.me.meth = LOCATE_parser___ReduceAction338___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16082 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos342] = 1;
+ return;
+}
+void parser___ReduceAction339___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16086;
+ fra.me.meth = LOCATE_parser___ReduceAction339___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16097 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16097);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16099 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16099);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16105 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16105);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16107 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16107);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16109 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16109);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16111 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16111);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16113 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16113);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16126 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction339___init(val_t p0, int* init_table){
+ int itpos343 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction339].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos343]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16128;
+ fra.me.meth = LOCATE_parser___ReduceAction339___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16128 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos343] = 1;
+ return;
+}
+void parser___ReduceAction340___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16132;
+ fra.me.meth = LOCATE_parser___ReduceAction340___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16145 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16145);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16147 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16147);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16149 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16149);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16155 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16155);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16161 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16161);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16163 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16163);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16165 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16165);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16167 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16167);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16169 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16169);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16182 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction340___init(val_t p0, int* init_table){
+ int itpos344 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction340].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos344]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16184;
+ fra.me.meth = LOCATE_parser___ReduceAction340___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16184 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos344] = 1;
+ return;
+}
+void parser___ReduceAction341___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16188;
+ fra.me.meth = LOCATE_parser___ReduceAction341___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16202 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16202);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16204 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16204);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16206 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16206);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16212 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16212);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16214 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16214);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16220 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16220);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16222 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16222);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16224 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16224);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16226 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16226);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16228 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16228);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16241 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction341___init(val_t p0, int* init_table){
+ int itpos345 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction341].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos345]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16243;
+ fra.me.meth = LOCATE_parser___ReduceAction341___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16243 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos345] = 1;
+ return;
+}
+void parser___ReduceAction342___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16247;
+ fra.me.meth = LOCATE_parser___ReduceAction342___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16259 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16259);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16261 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16261);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16263 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16263);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16269 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16269);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16271 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16271);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16273 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16273);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16275 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16275);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16277 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16277);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16290 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction342___init(val_t p0, int* init_table){
+ int itpos346 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction342].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos346]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16292;
+ fra.me.meth = LOCATE_parser___ReduceAction342___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16292 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos346] = 1;
+ return;
+}
+void parser___ReduceAction343___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16296;
+ fra.me.meth = LOCATE_parser___ReduceAction343___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16307 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16307);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16309 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16309);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16315 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16315);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16317 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16317);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16319 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16319);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16321 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16321);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16323 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16323);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16336 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction343___init(val_t p0, int* init_table){
+ int itpos347 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction343].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos347]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16338;
+ fra.me.meth = LOCATE_parser___ReduceAction343___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16338 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos347] = 1;
+ return;
+}
+void parser___ReduceAction344___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16342;
+ fra.me.meth = LOCATE_parser___ReduceAction344___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16354 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16354);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16356 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16356);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16358 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16358);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16364 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16364);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16366 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16366);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16368 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16368);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16370 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16370);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16372 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16372);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16385 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction344___init(val_t p0, int* init_table){
+ int itpos348 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction344].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos348]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16387;
+ fra.me.meth = LOCATE_parser___ReduceAction344___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16387 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos348] = 1;
+ return;
+}
+void parser___ReduceAction345___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16391;
+ fra.me.meth = LOCATE_parser___ReduceAction345___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16401 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16401);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16403 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16403);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16405 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16405);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16407 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16407);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16409 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16409);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:16411 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16411);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16424 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction345___init(val_t p0, int* init_table){
+ int itpos349 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction345].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos349]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16426;
+ fra.me.meth = LOCATE_parser___ReduceAction345___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16426 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos349] = 1;
+ return;
+}
+void parser___ReduceAction346___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16430;
+ fra.me.meth = LOCATE_parser___ReduceAction346___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16443 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16443);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16445 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16445);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16451 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16451);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16457 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16457);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16459 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16459);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16461 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16461);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16463 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16463);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16476 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction346___init(val_t p0, int* init_table){
+ int itpos350 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction346].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos350]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16478;
+ fra.me.meth = LOCATE_parser___ReduceAction346___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16478 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos350] = 1;
+ return;
+}
+void parser___ReduceAction347___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16482;
+ fra.me.meth = LOCATE_parser___ReduceAction347___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16496 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16496);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16498 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16498);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16504 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16504);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16506 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16506);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16512 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16512);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16514 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16514);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16516 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16516);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16518 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16518);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16531 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction347___init(val_t p0, int* init_table){
+ int itpos351 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction347].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos351]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16533;
+ fra.me.meth = LOCATE_parser___ReduceAction347___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16533 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos351] = 1;
+ return;
+}
+void parser___ReduceAction348___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16537;
+ fra.me.meth = LOCATE_parser___ReduceAction348___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16549 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16549);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16551 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16551);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16559);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16561 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16561);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16563 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16563);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16576 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction348___init(val_t p0, int* init_table){
+ int itpos352 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction348].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos352]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16578;
+ fra.me.meth = LOCATE_parser___ReduceAction348___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16578 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos352] = 1;
+ return;
+}
+void parser___ReduceAction349___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16582;
+ fra.me.meth = LOCATE_parser___ReduceAction349___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16596 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16596);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16598 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16598);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16600);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16606 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16606);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16612 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16612);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16614 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16614);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16616 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16616);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16618 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16618);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16631 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction349___init(val_t p0, int* init_table){
+ int itpos353 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction349].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos353]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16633;
+ fra.me.meth = LOCATE_parser___ReduceAction349___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16633 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos353] = 1;
+ return;
+}
+void parser___ReduceAction350___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16637;
+ fra.me.meth = LOCATE_parser___ReduceAction350___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16652 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16652);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16654 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16654);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16656 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16656);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16662 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16662);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16664 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16664);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16670 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16670);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16672 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16672);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16674 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16674);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16676 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16676);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16689 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction350___init(val_t p0, int* init_table){
+ int itpos354 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction350].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos354]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16691;
+ fra.me.meth = LOCATE_parser___ReduceAction350___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16691 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos354] = 1;
+ return;
+}
+void parser___ReduceAction351___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16695;
+ fra.me.meth = LOCATE_parser___ReduceAction351___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16708 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16708);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16710 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16710);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16712 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16712);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16718 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16718);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16720 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16720);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16722 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16722);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16724 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16724);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16737 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction351___init(val_t p0, int* init_table){
+ int itpos355 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction351].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos355]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16739;
+ fra.me.meth = LOCATE_parser___ReduceAction351___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16739 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos355] = 1;
+ return;
+}
+void parser___ReduceAction352___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16743;
+ fra.me.meth = LOCATE_parser___ReduceAction352___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16755 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16755);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16757 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16757);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16763 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16763);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16765 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16765);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16767);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16769 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16769);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16782 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction352___init(val_t p0, int* init_table){
+ int itpos356 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction352].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos356]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16784;
+ fra.me.meth = LOCATE_parser___ReduceAction352___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16784 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos356] = 1;
+ return;
+}
+void parser___ReduceAction353___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16788;
+ fra.me.meth = LOCATE_parser___ReduceAction353___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16801 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16801);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16803 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16803);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16805 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16805);
+ nit_exit(1);
+ }
+ fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16811 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16811);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16813 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16813);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16815 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16815);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16817 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16817);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16830 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction353___init(val_t p0, int* init_table){
+ int itpos357 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction353].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos357]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16832;
+ fra.me.meth = LOCATE_parser___ReduceAction353___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16832 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos357] = 1;
+ return;
+}
+void parser___ReduceAction354___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16836;
+ fra.me.meth = LOCATE_parser___ReduceAction354___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16847 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16847);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16849 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16849);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16853);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16855 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16855);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16868 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction354___init(val_t p0, int* init_table){
+ int itpos358 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction354].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos358]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16870;
+ fra.me.meth = LOCATE_parser___ReduceAction354___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16870 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos358] = 1;
+ return;
+}
+void parser___ReduceAction355___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16874;
+ fra.me.meth = LOCATE_parser___ReduceAction355___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16888 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16888);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16890 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16890);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16896 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16896);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16902 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16902);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16904 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16904);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16906 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16906);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16908 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16908);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16910 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16910);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16923 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction355___init(val_t p0, int* init_table){
+ int itpos359 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction355].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos359]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16925;
+ fra.me.meth = LOCATE_parser___ReduceAction355___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16925 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos359] = 1;
+ return;
+}
+void parser___ReduceAction356___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16929;
+ fra.me.meth = LOCATE_parser___ReduceAction356___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:16944 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16944);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:16946 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16946);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16952 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16952);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:16954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16954);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:16960 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16960);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:16962 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16962);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:16964 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16964);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:16966 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16966);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:16968 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16968);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:16981 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction356___init(val_t p0, int* init_table){
+ int itpos360 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction356].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos360]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16983;
+ fra.me.meth = LOCATE_parser___ReduceAction356___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:16983 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos360] = 1;
+ return;
+}
+void parser___ReduceAction357___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 16987;
+ fra.me.meth = LOCATE_parser___ReduceAction357___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17000 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17000);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17002 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17002);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17008 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17008);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17010 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17010);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17012 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17012);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17014 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17014);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17016 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17016);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17029 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction357___init(val_t p0, int* init_table){
+ int itpos361 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction357].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos361]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17031;
+ fra.me.meth = LOCATE_parser___ReduceAction357___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17031 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos361] = 1;
+ return;
+}
+void parser___ReduceAction358___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17035;
+ fra.me.meth = LOCATE_parser___ReduceAction358___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17050 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17050);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17052 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17052);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17054 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17054);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17060 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17060);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17066 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17066);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17068 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17068);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17070 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17070);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17072 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17072);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17074 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17074);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17087 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction358___init(val_t p0, int* init_table){
+ int itpos362 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction358].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos362]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17089;
+ fra.me.meth = LOCATE_parser___ReduceAction358___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17089 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos362] = 1;
+ return;
+}
+void parser___ReduceAction359___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17093;
+ fra.me.meth = LOCATE_parser___ReduceAction359___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17109 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17109);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17111 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17111);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17113 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17113);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17119 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17119);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17121 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17121);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17127 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17127);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17129 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17129);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17131 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17131);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17133 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17133);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17135 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17135);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17148 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction359___init(val_t p0, int* init_table){
+ int itpos363 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction359].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos363]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17150;
+ fra.me.meth = LOCATE_parser___ReduceAction359___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17150 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos363] = 1;
+ return;
+}
+void parser___ReduceAction360___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17154;
+ fra.me.meth = LOCATE_parser___ReduceAction360___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17168 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17168);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17170 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17170);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17172 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17172);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17178 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17178);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17180 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17180);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17182 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17182);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17184 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17184);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17186 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17186);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17199 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction360___init(val_t p0, int* init_table){
+ int itpos364 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction360].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos364]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17201;
+ fra.me.meth = LOCATE_parser___ReduceAction360___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17201 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos364] = 1;
+ return;
+}
+void parser___ReduceAction361___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17205;
+ fra.me.meth = LOCATE_parser___ReduceAction361___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17218 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17218);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17220 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17220);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17226 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17226);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17228 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17228);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17230 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17230);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17232 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17232);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17234 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17234);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17247 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction361___init(val_t p0, int* init_table){
+ int itpos365 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction361].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos365]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17249;
+ fra.me.meth = LOCATE_parser___ReduceAction361___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17249 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos365] = 1;
+ return;
+}
+void parser___ReduceAction362___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17253;
+ fra.me.meth = LOCATE_parser___ReduceAction362___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17267 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17267);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17269 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17269);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17271 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17271);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17277 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17277);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17279 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17279);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17281 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17281);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17283 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17283);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17285 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17285);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17298 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction362___init(val_t p0, int* init_table){
+ int itpos366 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction362].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos366]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17300;
+ fra.me.meth = LOCATE_parser___ReduceAction362___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17300 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos366] = 1;
+ return;
+}
+void parser___ReduceAction363___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17304;
+ fra.me.meth = LOCATE_parser___ReduceAction363___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17316 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17316);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17318 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17318);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17320 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17320);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17322 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17322);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17324 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17324);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17326 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17326);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17339 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction363___init(val_t p0, int* init_table){
+ int itpos367 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction363].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos367]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17341;
+ fra.me.meth = LOCATE_parser___ReduceAction363___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17341 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos367] = 1;
+ return;
+}
+void parser___ReduceAction364___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17345;
+ fra.me.meth = LOCATE_parser___ReduceAction364___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17359 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17359);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17361 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17361);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17367 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17367);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17373 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17373);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17375 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17375);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17377 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17377);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17379 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17379);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17381 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17381);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17394 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction364___init(val_t p0, int* init_table){
+ int itpos368 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction364].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos368]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17396;
+ fra.me.meth = LOCATE_parser___ReduceAction364___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17396 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos368] = 1;
+ return;
+}
+void parser___ReduceAction365___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17400;
+ fra.me.meth = LOCATE_parser___ReduceAction365___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17415 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17415);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17417 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17417);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17423 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17423);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17425 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17425);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17431 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17431);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17433 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17433);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17435 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17435);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17437 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17437);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17439 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17439);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17452 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction365___init(val_t p0, int* init_table){
+ int itpos369 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction365].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos369]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17454;
+ fra.me.meth = LOCATE_parser___ReduceAction365___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17454 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos369] = 1;
+ return;
+}
+void parser___ReduceAction366___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17458;
+ fra.me.meth = LOCATE_parser___ReduceAction366___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17471 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17471);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17473);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17479 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17479);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17481 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17481);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17483 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17483);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17485 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17485);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17487 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17487);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17500 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction366___init(val_t p0, int* init_table){
+ int itpos370 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction366].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos370]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17502;
+ fra.me.meth = LOCATE_parser___ReduceAction366___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17502 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos370] = 1;
+ return;
+}
+void parser___ReduceAction367___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17506;
+ fra.me.meth = LOCATE_parser___ReduceAction367___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17521);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17523);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17525 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17525);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17531 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17531);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17537 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17537);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17539 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17539);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17541 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17541);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17543 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17543);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17545 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17545);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17558 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction367___init(val_t p0, int* init_table){
+ int itpos371 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction367].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos371]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17560;
+ fra.me.meth = LOCATE_parser___ReduceAction367___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17560 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos371] = 1;
+ return;
+}
+void parser___ReduceAction368___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17564;
+ fra.me.meth = LOCATE_parser___ReduceAction368___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17580 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17580);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17582 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17582);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17584 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17584);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17590 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17590);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17592 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17592);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17598 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17598);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17600);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17602 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17602);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17604 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17604);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17606 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17606);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17619 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction368___init(val_t p0, int* init_table){
+ int itpos372 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction368].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos372]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17621;
+ fra.me.meth = LOCATE_parser___ReduceAction368___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17621 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos372] = 1;
+ return;
+}
+void parser___ReduceAction369___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17625;
+ fra.me.meth = LOCATE_parser___ReduceAction369___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17639 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17639);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17641 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17641);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17643 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17643);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17651);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17653 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17653);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17655);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17657 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17657);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17670 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction369___init(val_t p0, int* init_table){
+ int itpos373 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction369].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos373]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17672;
+ fra.me.meth = LOCATE_parser___ReduceAction369___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17672 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos373] = 1;
+ return;
+}
+void parser___ReduceAction370___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17676;
+ fra.me.meth = LOCATE_parser___ReduceAction370___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17689 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17689);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17691 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17691);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17697 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17697);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17699 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17699);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17701 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17701);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17703 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17703);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17705 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17705);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17718 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction370___init(val_t p0, int* init_table){
+ int itpos374 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction370].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos374]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17720;
+ fra.me.meth = LOCATE_parser___ReduceAction370___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17720 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos374] = 1;
+ return;
+}
+void parser___ReduceAction371___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17724;
+ fra.me.meth = LOCATE_parser___ReduceAction371___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17738 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17738);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17740 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17740);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17742 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17742);
+ nit_exit(1);
+ }
+ fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17748 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17748);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17750 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17750);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17752 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17752);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17754 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17754);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17756 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17756);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17769 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction371___init(val_t p0, int* init_table){
+ int itpos375 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction371].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos375]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17771;
+ fra.me.meth = LOCATE_parser___ReduceAction371___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17771 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos375] = 1;
+ return;
+}
+void parser___ReduceAction372___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17775;
+ fra.me.meth = LOCATE_parser___ReduceAction372___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17787 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17787);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17789 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17789);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17791 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17791);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17793 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17793);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17795 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17795);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17797 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17797);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17810 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction372___init(val_t p0, int* init_table){
+ int itpos376 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction372].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos376]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17812;
+ fra.me.meth = LOCATE_parser___ReduceAction372___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17812 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos376] = 1;
+ return;
+}
+void parser___ReduceAction373___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17816;
+ fra.me.meth = LOCATE_parser___ReduceAction373___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17831 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17831);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17833 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17833);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17839 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17839);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17845 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17845);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17847 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17847);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17849 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17849);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17853);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17855 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17855);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17868 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction373___init(val_t p0, int* init_table){
+ int itpos377 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction373].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos377]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17870;
+ fra.me.meth = LOCATE_parser___ReduceAction373___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17870 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos377] = 1;
+ return;
+}
+void parser___ReduceAction374___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17874;
+ fra.me.meth = LOCATE_parser___ReduceAction374___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17890 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17890);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17892 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17892);
+ nit_exit(1);
+ }
+ fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[10]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17898 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17898);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:17900 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17900);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17906 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17906);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17908 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17908);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17910 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17910);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17912 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17912);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17914 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17914);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17916 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17916);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17929 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction374___init(val_t p0, int* init_table){
+ int itpos378 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction374].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos378]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17931;
+ fra.me.meth = LOCATE_parser___ReduceAction374___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17931 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos378] = 1;
+ return;
+}
+void parser___ReduceAction375___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17935;
+ fra.me.meth = LOCATE_parser___ReduceAction375___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:17949 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17949);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:17951 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17951);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:17957 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17957);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:17959 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17959);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:17961 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17961);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:17963 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17963);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:17965 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17965);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:17967 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17967);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:17980 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction375___init(val_t p0, int* init_table){
+ int itpos379 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction375].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos379]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17982;
+ fra.me.meth = LOCATE_parser___ReduceAction375___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:17982 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos379] = 1;
+ return;
+}
+void parser___ReduceAction376___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 17986;
+ fra.me.meth = LOCATE_parser___ReduceAction376___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 12;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18002 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18002);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18004 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18004);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:18006 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18006);
+ nit_exit(1);
+ }
+ fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:18012 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18012);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18018 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18018);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18020 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18020);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18022 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18022);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18024 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18024);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18026 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18026);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18028 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18028);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18041 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction376___init(val_t p0, int* init_table){
+ int itpos380 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction376].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos380]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18043;
+ fra.me.meth = LOCATE_parser___ReduceAction376___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18043 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos380] = 1;
+ return;
+}
+void parser___ReduceAction377___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18047;
+ fra.me.meth = LOCATE_parser___ReduceAction377___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 13;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[11] = NIT_NULL;
+ fra.me.REG[12] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18064 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18064);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18066 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18066);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:18068 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18068);
+ nit_exit(1);
+ }
+ fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[11], fra.me.REG[10]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18074 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18074);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:18076 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18076);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18082 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18082);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18084 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18084);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18086 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18086);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18088 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18088);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18090 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18090);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18092 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18092);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[12], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18105 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction377___init(val_t p0, int* init_table){
+ int itpos381 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction377].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos381]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18107;
+ fra.me.meth = LOCATE_parser___ReduceAction377___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18107 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos381] = 1;
+ return;
+}
+void parser___ReduceAction378___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18111;
+ fra.me.meth = LOCATE_parser___ReduceAction378___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18126 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18126);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18128 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18128);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ /* ./parser//parser.nit:18130 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18130);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18136 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18136);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18138 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18138);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18140 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18140);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18142 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18142);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18144 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18144);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18146 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18146);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18159 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction378___init(val_t p0, int* init_table){
+ int itpos382 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction378].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos382]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18161;
+ fra.me.meth = LOCATE_parser___ReduceAction378___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18161 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos382] = 1;
+ return;
+}
+void parser___ReduceAction379___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18165;
+ fra.me.meth = LOCATE_parser___ReduceAction379___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18179 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18179);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:18181 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18181);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18187 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18187);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18189 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18189);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18191 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18191);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18193 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18193);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18195 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18195);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18197 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18197);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18210 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction379___init(val_t p0, int* init_table){
+ int itpos383 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction379].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos383]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18212;
+ fra.me.meth = LOCATE_parser___ReduceAction379___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18212 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos383] = 1;
+ return;
+}
+void parser___ReduceAction380___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18216;
+ fra.me.meth = LOCATE_parser___ReduceAction380___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18231 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18231);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18233 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18233);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ /* ./parser//parser.nit:18235 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18235);
+ nit_exit(1);
+ }
+ fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18241 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18241);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18243 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18243);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18245 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18245);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18247 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18247);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18249 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18249);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18251 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18251);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18264 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction380___init(val_t p0, int* init_table){
+ int itpos384 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction380].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos384]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18266;
+ fra.me.meth = LOCATE_parser___ReduceAction380___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18266 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos384] = 1;
+ return;
+}
+void parser___ReduceAction381___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18270;
+ fra.me.meth = LOCATE_parser___ReduceAction381___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18283 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18283);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18285 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18285);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18287 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18287);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ /* ./parser//parser.nit:18289 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18289);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ /* ./parser//parser.nit:18291 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18291);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:18293 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18293);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18295 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18295);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18308 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction381___init(val_t p0, int* init_table){
+ int itpos385 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction381].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos385]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18310;
+ fra.me.meth = LOCATE_parser___ReduceAction381___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18310 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos385] = 1;
+ return;
+}
+void parser___ReduceAction382___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18314;
+ fra.me.meth = LOCATE_parser___ReduceAction382___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18324 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18324);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18326 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18326);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18328 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18328);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18330 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18330);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18332 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18332);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18343 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction382___init(val_t p0, int* init_table){
+ int itpos386 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction382].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos386]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18345;
+ fra.me.meth = LOCATE_parser___ReduceAction382___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18345 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos386] = 1;
+ return;
+}
+void parser___ReduceAction383___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18349;
+ fra.me.meth = LOCATE_parser___ReduceAction383___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18360 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18360);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:18362 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18362);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18364 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18364);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18366 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18366);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18368 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18368);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18370 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18370);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18381 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction383___init(val_t p0, int* init_table){
+ int itpos387 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction383].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos387]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18383;
+ fra.me.meth = LOCATE_parser___ReduceAction383___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18383 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos387] = 1;
+ return;
+}
+void parser___ReduceAction384___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18387;
+ fra.me.meth = LOCATE_parser___ReduceAction384___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18398 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18398);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18400 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18400);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18402 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18402);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:18404 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18404);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18409 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18409);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18411 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18411);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18422 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction384___init(val_t p0, int* init_table){
+ int itpos388 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction384].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos388]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18424;
+ fra.me.meth = LOCATE_parser___ReduceAction384___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18424 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos388] = 1;
+ return;
+}
+void parser___ReduceAction385___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18428;
+ fra.me.meth = LOCATE_parser___ReduceAction385___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18439 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18439);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18441 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18441);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18443 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18443);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:18445 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18445);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18450 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18450);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18452 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18452);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18463 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction385___init(val_t p0, int* init_table){
+ int itpos389 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction385].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos389]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18465;
+ fra.me.meth = LOCATE_parser___ReduceAction385___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18465 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos389] = 1;
+ return;
+}
+void parser___ReduceAction386___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18469;
+ fra.me.meth = LOCATE_parser___ReduceAction386___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18480);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18482);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18484 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18484);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:18486 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18486);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18491 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18491);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18493 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18493);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18504 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction386___init(val_t p0, int* init_table){
+ int itpos390 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction386].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos390]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18506;
+ fra.me.meth = LOCATE_parser___ReduceAction386___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18506 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos390] = 1;
+ return;
+}
+void parser___ReduceAction387___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18510;
+ fra.me.meth = LOCATE_parser___ReduceAction387___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18521 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18521);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18523);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18525 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18525);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:18527 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18527);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18532 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18532);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18534 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18534);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18545 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction387___init(val_t p0, int* init_table){
+ int itpos391 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction387].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos391]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18547;
+ fra.me.meth = LOCATE_parser___ReduceAction387___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18547 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos391] = 1;
+ return;
+}
+void parser___ReduceAction388___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18551;
+ fra.me.meth = LOCATE_parser___ReduceAction388___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18562 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18562);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18564 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18564);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18566 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18566);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:18568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18568);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18573 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18573);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18575 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18575);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18586 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction388___init(val_t p0, int* init_table){
+ int itpos392 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction388].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos392]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18588;
+ fra.me.meth = LOCATE_parser___ReduceAction388___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18588 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos392] = 1;
+ return;
+}
+void parser___ReduceAction389___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18592;
+ fra.me.meth = LOCATE_parser___ReduceAction389___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18603 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18603);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18605 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18605);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18607 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18607);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:18609 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18609);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18614 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18614);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18616 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18616);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18627 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction389___init(val_t p0, int* init_table){
+ int itpos393 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction389].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos393]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18629;
+ fra.me.meth = LOCATE_parser___ReduceAction389___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18629 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos393] = 1;
+ return;
+}
+void parser___ReduceAction390___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18633;
+ fra.me.meth = LOCATE_parser___ReduceAction390___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18644 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18644);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18646 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18646);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18648 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18648);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:18650 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18650);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18655);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18657 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18657);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18668 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction390___init(val_t p0, int* init_table){
+ int itpos394 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction390].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos394]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18670;
+ fra.me.meth = LOCATE_parser___ReduceAction390___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18670 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos394] = 1;
+ return;
+}
+void parser___ReduceAction391___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18674;
+ fra.me.meth = LOCATE_parser___ReduceAction391___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18685 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18685);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18687 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18687);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18689 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18689);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:18691 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18691);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18698);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18709 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction391___init(val_t p0, int* init_table){
+ int itpos395 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction391].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos395]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18711;
+ fra.me.meth = LOCATE_parser___ReduceAction391___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18711 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos395] = 1;
+ return;
+}
+void parser___ReduceAction392___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18715;
+ fra.me.meth = LOCATE_parser___ReduceAction392___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18726 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18726);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18728 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18728);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18730 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18730);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:18732 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18732);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18737 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18737);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18739 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18739);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18750 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction392___init(val_t p0, int* init_table){
+ int itpos396 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction392].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos396]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18752;
+ fra.me.meth = LOCATE_parser___ReduceAction392___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18752 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos396] = 1;
+ return;
+}
+void parser___ReduceAction393___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18756;
+ fra.me.meth = LOCATE_parser___ReduceAction393___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18767 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18767);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18769 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18769);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18771 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18771);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:18773 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18773);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18778 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18778);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18780 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18780);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18791 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction393___init(val_t p0, int* init_table){
+ int itpos397 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction393].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos397]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18793;
+ fra.me.meth = LOCATE_parser___ReduceAction393___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18793 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos397] = 1;
+ return;
+}
+void parser___ReduceAction394___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18797;
+ fra.me.meth = LOCATE_parser___ReduceAction394___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18808 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18808);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18810 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18810);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18812 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18812);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:18814 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18814);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18819 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18819);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18821 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18821);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18832 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction394___init(val_t p0, int* init_table){
+ int itpos398 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction394].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos398]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18834;
+ fra.me.meth = LOCATE_parser___ReduceAction394___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18834 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos398] = 1;
+ return;
+}
+void parser___ReduceAction395___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18838;
+ fra.me.meth = LOCATE_parser___ReduceAction395___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18849 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18849);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18851 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18851);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18853 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18853);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:18855 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18855);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18860 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18860);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18862 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18862);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18873 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction395___init(val_t p0, int* init_table){
+ int itpos399 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction395].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos399]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18875;
+ fra.me.meth = LOCATE_parser___ReduceAction395___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18875 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos399] = 1;
+ return;
+}
+void parser___ReduceAction396___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18879;
+ fra.me.meth = LOCATE_parser___ReduceAction396___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18891 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18891);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18893 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18893);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18895 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18895);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:18897 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18897);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:18899 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18899);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18905 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18905);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18907 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18907);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18918 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction396___init(val_t p0, int* init_table){
+ int itpos400 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction396].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos400]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18920;
+ fra.me.meth = LOCATE_parser___ReduceAction396___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18920 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos400] = 1;
+ return;
+}
+void parser___ReduceAction397___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18924;
+ fra.me.meth = LOCATE_parser___ReduceAction397___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18935 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18935);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18937 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18937);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18939 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18939);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:18941 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18941);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18946 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18946);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18948 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18948);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:18959 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction397___init(val_t p0, int* init_table){
+ int itpos401 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction397].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos401]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18961;
+ fra.me.meth = LOCATE_parser___ReduceAction397___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:18961 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos401] = 1;
+ return;
+}
+void parser___ReduceAction398___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 18965;
+ fra.me.meth = LOCATE_parser___ReduceAction398___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:18977 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18977);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:18979 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18979);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:18981 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18981);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:18983 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18983);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:18985 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18985);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:18991 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18991);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:18993 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18993);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19004 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction398___init(val_t p0, int* init_table){
+ int itpos402 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction398].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos402]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19006;
+ fra.me.meth = LOCATE_parser___ReduceAction398___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19006 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos402] = 1;
+ return;
+}
+void parser___ReduceAction399___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19010;
+ fra.me.meth = LOCATE_parser___ReduceAction399___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19023 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19023);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19025 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19025);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19027 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19027);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:19029 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19029);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:19031 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19031);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:19033 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19033);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19040 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19040);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19042 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19042);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19053 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction399___init(val_t p0, int* init_table){
+ int itpos403 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction399].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos403]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19055;
+ fra.me.meth = LOCATE_parser___ReduceAction399___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19055 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos403] = 1;
+ return;
+}
+void parser___ReduceAction400___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19059;
+ fra.me.meth = LOCATE_parser___ReduceAction400___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19071 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19071);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19073 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19073);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19075 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19075);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19077 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19077);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:19079 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19079);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19084 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19084);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19086 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19086);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19097 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction400___init(val_t p0, int* init_table){
+ int itpos404 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction400].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos404]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19099;
+ fra.me.meth = LOCATE_parser___ReduceAction400___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19099 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos404] = 1;
+ return;
+}
+void parser___ReduceAction401___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19103;
+ fra.me.meth = LOCATE_parser___ReduceAction401___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19115 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19115);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19117 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19117);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19119 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19119);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19121 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19121);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:19123 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19123);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19128 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19128);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19130 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19130);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19141 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction401___init(val_t p0, int* init_table){
+ int itpos405 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction401].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos405]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19143;
+ fra.me.meth = LOCATE_parser___ReduceAction401___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19143 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos405] = 1;
+ return;
+}
+void parser___ReduceAction402___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19147;
+ fra.me.meth = LOCATE_parser___ReduceAction402___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19159 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19159);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19161 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19161);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19163 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19163);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19165 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19165);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:19167 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19167);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19172 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19172);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19174 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19174);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19185 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction402___init(val_t p0, int* init_table){
+ int itpos406 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction402].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos406]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19187;
+ fra.me.meth = LOCATE_parser___ReduceAction402___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19187 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos406] = 1;
+ return;
+}
+void parser___ReduceAction403___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19191;
+ fra.me.meth = LOCATE_parser___ReduceAction403___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19203 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19203);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19205 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19205);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19207 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19207);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19209 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19209);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:19211 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19211);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19216 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19216);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19218 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19218);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19229 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction403___init(val_t p0, int* init_table){
+ int itpos407 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction403].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos407]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19231;
+ fra.me.meth = LOCATE_parser___ReduceAction403___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19231 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos407] = 1;
+ return;
+}
+void parser___ReduceAction404___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19235;
+ fra.me.meth = LOCATE_parser___ReduceAction404___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19247 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19247);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19249 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19249);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19251 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19251);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19253 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19253);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:19255 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19255);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19260 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19260);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19262 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19262);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19273 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction404___init(val_t p0, int* init_table){
+ int itpos408 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction404].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos408]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19275;
+ fra.me.meth = LOCATE_parser___ReduceAction404___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19275 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos408] = 1;
+ return;
+}
+void parser___ReduceAction405___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19279;
+ fra.me.meth = LOCATE_parser___ReduceAction405___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19291 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19291);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19293 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19293);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19295 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19295);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19297 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19297);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:19299 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19299);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19304 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19304);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19306 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19306);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19317 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction405___init(val_t p0, int* init_table){
+ int itpos409 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction405].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos409]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19319;
+ fra.me.meth = LOCATE_parser___ReduceAction405___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19319 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos409] = 1;
+ return;
+}
+void parser___ReduceAction406___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19323;
+ fra.me.meth = LOCATE_parser___ReduceAction406___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19335 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19335);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19337 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19337);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19339 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19339);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19341 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19341);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:19343 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19343);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19348 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19348);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19350 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19350);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19361 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction406___init(val_t p0, int* init_table){
+ int itpos410 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction406].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos410]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19363;
+ fra.me.meth = LOCATE_parser___ReduceAction406___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19363 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos410] = 1;
+ return;
+}
+void parser___ReduceAction407___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19367;
+ fra.me.meth = LOCATE_parser___ReduceAction407___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19379 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19379);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19381 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19381);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19383 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19383);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19385 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19385);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:19387 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19387);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19392 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19392);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19394 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19394);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19405 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction407___init(val_t p0, int* init_table){
+ int itpos411 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction407].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos411]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19407;
+ fra.me.meth = LOCATE_parser___ReduceAction407___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19407 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos411] = 1;
+ return;
+}
+void parser___ReduceAction408___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19411;
+ fra.me.meth = LOCATE_parser___ReduceAction408___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19423 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19423);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19425 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19425);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19427 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19427);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19429 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19429);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:19431 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19431);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19436 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19436);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19438 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19438);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19449 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction408___init(val_t p0, int* init_table){
+ int itpos412 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction408].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos412]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19451;
+ fra.me.meth = LOCATE_parser___ReduceAction408___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19451 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos412] = 1;
+ return;
+}
+void parser___ReduceAction409___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19455;
+ fra.me.meth = LOCATE_parser___ReduceAction409___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19467 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19467);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19469 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19469);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19471 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19471);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19473);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:19475 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19475);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19480 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19480);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19482 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19482);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19493 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction409___init(val_t p0, int* init_table){
+ int itpos413 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction409].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos413]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19495;
+ fra.me.meth = LOCATE_parser___ReduceAction409___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19495 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos413] = 1;
+ return;
+}
+void parser___ReduceAction410___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19499;
+ fra.me.meth = LOCATE_parser___ReduceAction410___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19511 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19511);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19513 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19513);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19515 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19515);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19517 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19517);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:19519 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19519);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19524 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19524);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19526 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19526);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19537 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction410___init(val_t p0, int* init_table){
+ int itpos414 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction410].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos414]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19539;
+ fra.me.meth = LOCATE_parser___ReduceAction410___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19539 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos414] = 1;
+ return;
+}
+void parser___ReduceAction411___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19543;
+ fra.me.meth = LOCATE_parser___ReduceAction411___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19555 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19555);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19559);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19561 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19561);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:19563 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19563);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19568);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19570 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19570);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19581 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction411___init(val_t p0, int* init_table){
+ int itpos415 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction411].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos415]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19583;
+ fra.me.meth = LOCATE_parser___ReduceAction411___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19583 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos415] = 1;
+ return;
+}
+void parser___ReduceAction412___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19587;
+ fra.me.meth = LOCATE_parser___ReduceAction412___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19600);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19602 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19602);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19604 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19604);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19606 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19606);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:19608 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19608);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:19610 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19610);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19616 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19616);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19618 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19618);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19629 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction412___init(val_t p0, int* init_table){
+ int itpos416 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction412].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos416]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19631;
+ fra.me.meth = LOCATE_parser___ReduceAction412___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19631 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos416] = 1;
+ return;
+}
+void parser___ReduceAction413___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19635;
+ fra.me.meth = LOCATE_parser___ReduceAction413___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19647 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19647);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19651);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19653 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19653);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:19655 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19655);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19660 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19660);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19662 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19662);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19673 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction413___init(val_t p0, int* init_table){
+ int itpos417 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction413].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos417]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19675;
+ fra.me.meth = LOCATE_parser___ReduceAction413___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19675 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos417] = 1;
+ return;
+}
+void parser___ReduceAction414___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19679;
+ fra.me.meth = LOCATE_parser___ReduceAction414___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19692 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19692);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19694 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19694);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19698);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:19700 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19700);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:19702 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19702);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19708 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19708);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19710 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19710);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19721 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction414___init(val_t p0, int* init_table){
+ int itpos418 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction414].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos418]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19723;
+ fra.me.meth = LOCATE_parser___ReduceAction414___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19723 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos418] = 1;
+ return;
+}
+void parser___ReduceAction415___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19727;
+ fra.me.meth = LOCATE_parser___ReduceAction415___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19741 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19741);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19743 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19743);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19745 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19745);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19747 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19747);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:19749 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19749);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:19751 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19751);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:19753 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19753);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19760 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19760);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19762 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19762);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19773 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction415___init(val_t p0, int* init_table){
+ int itpos419 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction415].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos419]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19775;
+ fra.me.meth = LOCATE_parser___ReduceAction415___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19775 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos419] = 1;
+ return;
+}
+void parser___ReduceAction416___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19779;
+ fra.me.meth = LOCATE_parser___ReduceAction416___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19790 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19790);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19792 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19792);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19794 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19794);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19796 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19796);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19798 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19798);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19809 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction416___init(val_t p0, int* init_table){
+ int itpos420 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction416].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos420]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19811;
+ fra.me.meth = LOCATE_parser___ReduceAction416___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19811 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos420] = 1;
+ return;
+}
+void parser___ReduceAction417___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19815;
+ fra.me.meth = LOCATE_parser___ReduceAction417___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19827 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19827);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:19829 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19829);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19831 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19831);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19833 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19833);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19835 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19835);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19837 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19837);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19848 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction417___init(val_t p0, int* init_table){
+ int itpos421 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction417].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos421]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19850;
+ fra.me.meth = LOCATE_parser___ReduceAction417___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19850 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos421] = 1;
+ return;
+}
+void parser___ReduceAction418___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19854;
+ fra.me.meth = LOCATE_parser___ReduceAction418___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19866 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19866);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19868 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19868);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19870 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19870);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:19872 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19872);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19877 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19877);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19879 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19879);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19890 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction418___init(val_t p0, int* init_table){
+ int itpos422 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction418].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos422]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19892;
+ fra.me.meth = LOCATE_parser___ReduceAction418___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19892 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos422] = 1;
+ return;
+}
+void parser___ReduceAction419___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19896;
+ fra.me.meth = LOCATE_parser___ReduceAction419___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19908 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19908);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19910 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19910);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19912 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19912);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:19914 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19914);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19919 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19919);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19921 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19921);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19932 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction419___init(val_t p0, int* init_table){
+ int itpos423 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction419].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos423]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19934;
+ fra.me.meth = LOCATE_parser___ReduceAction419___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19934 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos423] = 1;
+ return;
+}
+void parser___ReduceAction420___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19938;
+ fra.me.meth = LOCATE_parser___ReduceAction420___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19950 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19950);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19952 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19952);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19954 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19954);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:19956 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19956);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:19961 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19961);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:19963 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19963);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:19974 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction420___init(val_t p0, int* init_table){
+ int itpos424 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction420].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos424]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19976;
+ fra.me.meth = LOCATE_parser___ReduceAction420___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:19976 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos424] = 1;
+ return;
+}
+void parser___ReduceAction421___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 19980;
+ fra.me.meth = LOCATE_parser___ReduceAction421___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:19992 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19992);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:19994 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19994);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:19996 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19996);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:19998 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19998);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20003 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20003);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20005 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20005);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20016 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction421___init(val_t p0, int* init_table){
+ int itpos425 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction421].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos425]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20018;
+ fra.me.meth = LOCATE_parser___ReduceAction421___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20018 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos425] = 1;
+ return;
+}
+void parser___ReduceAction422___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20022;
+ fra.me.meth = LOCATE_parser___ReduceAction422___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20034 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20034);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20036 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20036);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20038 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20038);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:20040 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20040);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20045 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20045);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20047 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20047);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20058 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction422___init(val_t p0, int* init_table){
+ int itpos426 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction422].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos426]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20060;
+ fra.me.meth = LOCATE_parser___ReduceAction422___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20060 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos426] = 1;
+ return;
+}
+void parser___ReduceAction423___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20064;
+ fra.me.meth = LOCATE_parser___ReduceAction423___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20076 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20076);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20078 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20078);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20080 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20080);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:20082 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20082);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20087 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20087);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20089 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20089);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20100 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction423___init(val_t p0, int* init_table){
+ int itpos427 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction423].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos427]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20102;
+ fra.me.meth = LOCATE_parser___ReduceAction423___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20102 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos427] = 1;
+ return;
+}
+void parser___ReduceAction424___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20106;
+ fra.me.meth = LOCATE_parser___ReduceAction424___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20118 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20118);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20120 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20120);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20122 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20122);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:20124 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20124);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20129 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20129);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20131 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20131);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20142 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction424___init(val_t p0, int* init_table){
+ int itpos428 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction424].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos428]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20144;
+ fra.me.meth = LOCATE_parser___ReduceAction424___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20144 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos428] = 1;
+ return;
+}
+void parser___ReduceAction425___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20148;
+ fra.me.meth = LOCATE_parser___ReduceAction425___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20160 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20160);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20162 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20162);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20164 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20164);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:20166 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20166);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20171 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20171);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20173 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20173);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20184 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction425___init(val_t p0, int* init_table){
+ int itpos429 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction425].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos429]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20186;
+ fra.me.meth = LOCATE_parser___ReduceAction425___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20186 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos429] = 1;
+ return;
+}
+void parser___ReduceAction426___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20190;
+ fra.me.meth = LOCATE_parser___ReduceAction426___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20202 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20202);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20204 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20204);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20206 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20206);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:20208 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20208);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20213 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20213);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20215 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20215);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20226 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction426___init(val_t p0, int* init_table){
+ int itpos430 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction426].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos430]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20228;
+ fra.me.meth = LOCATE_parser___ReduceAction426___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20228 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos430] = 1;
+ return;
+}
+void parser___ReduceAction427___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20232;
+ fra.me.meth = LOCATE_parser___ReduceAction427___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20244 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20244);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20246 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20246);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20248 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20248);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:20250 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20250);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20255 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20255);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20257 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20257);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20268 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction427___init(val_t p0, int* init_table){
+ int itpos431 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction427].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos431]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20270;
+ fra.me.meth = LOCATE_parser___ReduceAction427___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20270 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos431] = 1;
+ return;
+}
+void parser___ReduceAction428___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20274;
+ fra.me.meth = LOCATE_parser___ReduceAction428___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20286 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20286);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20288 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20288);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20290 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20290);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:20292 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20292);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20297 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20297);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20299 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20299);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20310 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction428___init(val_t p0, int* init_table){
+ int itpos432 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction428].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos432]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20312;
+ fra.me.meth = LOCATE_parser___ReduceAction428___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20312 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos432] = 1;
+ return;
+}
+void parser___ReduceAction429___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20316;
+ fra.me.meth = LOCATE_parser___ReduceAction429___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20328 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20328);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20330 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20330);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20332 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20332);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:20334 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20334);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20339 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20339);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20341 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20341);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20352 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction429___init(val_t p0, int* init_table){
+ int itpos433 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction429].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos433]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20354;
+ fra.me.meth = LOCATE_parser___ReduceAction429___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20354 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos433] = 1;
+ return;
+}
+void parser___ReduceAction430___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20358;
+ fra.me.meth = LOCATE_parser___ReduceAction430___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20371 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20371);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20373 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20373);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20375 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20375);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:20377 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20377);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:20379 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20379);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20385 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20385);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20387 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20387);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20398 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction430___init(val_t p0, int* init_table){
+ int itpos434 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction430].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos434]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20400;
+ fra.me.meth = LOCATE_parser___ReduceAction430___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20400 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos434] = 1;
+ return;
+}
+void parser___ReduceAction431___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20404;
+ fra.me.meth = LOCATE_parser___ReduceAction431___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20416 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20416);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20418 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20418);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20420 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20420);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:20422 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20422);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20427 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20427);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20429 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20429);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20440 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction431___init(val_t p0, int* init_table){
+ int itpos435 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction431].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos435]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20442;
+ fra.me.meth = LOCATE_parser___ReduceAction431___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20442 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos435] = 1;
+ return;
+}
+void parser___ReduceAction432___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20446;
+ fra.me.meth = LOCATE_parser___ReduceAction432___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20459 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20459);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20461 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20461);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20463 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20463);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:20465 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20465);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:20467 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20467);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20473 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20473);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20475 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20475);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20486 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction432___init(val_t p0, int* init_table){
+ int itpos436 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction432].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos436]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20488;
+ fra.me.meth = LOCATE_parser___ReduceAction432___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20488 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos436] = 1;
+ return;
+}
+void parser___ReduceAction433___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20492;
+ fra.me.meth = LOCATE_parser___ReduceAction433___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20506 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20506);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20508 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20508);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20510 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20510);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:20512 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20512);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:20514 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20514);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:20516 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20516);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20523 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20523);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20525 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20525);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20536 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction433___init(val_t p0, int* init_table){
+ int itpos437 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction433].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos437]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20538;
+ fra.me.meth = LOCATE_parser___ReduceAction433___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20538 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos437] = 1;
+ return;
+}
+void parser___ReduceAction434___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20542;
+ fra.me.meth = LOCATE_parser___ReduceAction434___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20555 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20555);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20557 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20557);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20559 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20559);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20561 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20561);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:20563 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20563);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20568 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20568);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20570 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20570);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20581 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction434___init(val_t p0, int* init_table){
+ int itpos438 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction434].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos438]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20583;
+ fra.me.meth = LOCATE_parser___ReduceAction434___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20583 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos438] = 1;
+ return;
+}
+void parser___ReduceAction435___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20587;
+ fra.me.meth = LOCATE_parser___ReduceAction435___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20600 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20600);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20602 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20602);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20604 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20604);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20606 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20606);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ /* ./parser//parser.nit:20608 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20608);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20613);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20615 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20615);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20626 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction435___init(val_t p0, int* init_table){
+ int itpos439 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction435].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos439]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20628;
+ fra.me.meth = LOCATE_parser___ReduceAction435___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20628 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos439] = 1;
+ return;
+}
+void parser___ReduceAction436___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20632;
+ fra.me.meth = LOCATE_parser___ReduceAction436___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20645 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20645);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20647 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20647);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20649 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20649);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20651 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20651);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ /* ./parser//parser.nit:20653 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20653);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20658 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20658);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20660 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20660);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20671 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction436___init(val_t p0, int* init_table){
+ int itpos440 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction436].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos440]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20673;
+ fra.me.meth = LOCATE_parser___ReduceAction436___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20673 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos440] = 1;
+ return;
+}
+void parser___ReduceAction437___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20677;
+ fra.me.meth = LOCATE_parser___ReduceAction437___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20690 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20690);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20692 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20692);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20694 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20694);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20696 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20696);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ /* ./parser//parser.nit:20698 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20698);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20703 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20703);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20705 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20705);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20716 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction437___init(val_t p0, int* init_table){
+ int itpos441 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction437].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos441]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20718;
+ fra.me.meth = LOCATE_parser___ReduceAction437___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20718 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos441] = 1;
+ return;
+}
+void parser___ReduceAction438___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20722;
+ fra.me.meth = LOCATE_parser___ReduceAction438___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20735 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20735);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20737 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20737);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20739 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20739);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20741 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20741);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ /* ./parser//parser.nit:20743 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20743);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20748 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20748);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20750 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20750);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20761 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction438___init(val_t p0, int* init_table){
+ int itpos442 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction438].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos442]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20763;
+ fra.me.meth = LOCATE_parser___ReduceAction438___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20763 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos442] = 1;
+ return;
+}
+void parser___ReduceAction439___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20767;
+ fra.me.meth = LOCATE_parser___ReduceAction439___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20780 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20780);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20782 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20782);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20784 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20784);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20786 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20786);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ /* ./parser//parser.nit:20788 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20788);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20793 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20793);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20795 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20795);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20806 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction439___init(val_t p0, int* init_table){
+ int itpos443 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction439].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos443]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20808;
+ fra.me.meth = LOCATE_parser___ReduceAction439___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20808 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos443] = 1;
+ return;
+}
+void parser___ReduceAction440___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20812;
+ fra.me.meth = LOCATE_parser___ReduceAction440___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20825 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20825);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20827 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20827);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20829 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20829);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20831 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20831);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ /* ./parser//parser.nit:20833 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20833);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20838 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20838);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20840 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20840);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20851 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction440___init(val_t p0, int* init_table){
+ int itpos444 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction440].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos444]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20853;
+ fra.me.meth = LOCATE_parser___ReduceAction440___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20853 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos444] = 1;
+ return;
+}
+void parser___ReduceAction441___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20857;
+ fra.me.meth = LOCATE_parser___ReduceAction441___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20870 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20870);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20872 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20872);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20874 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20874);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20876 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20876);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ /* ./parser//parser.nit:20878 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20878);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20883 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20883);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20885 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20885);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20896 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction441___init(val_t p0, int* init_table){
+ int itpos445 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction441].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos445]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20898;
+ fra.me.meth = LOCATE_parser___ReduceAction441___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20898 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos445] = 1;
+ return;
+}
+void parser___ReduceAction442___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20902;
+ fra.me.meth = LOCATE_parser___ReduceAction442___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20915 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20915);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20917 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20917);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20919 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20919);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20921 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20921);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ /* ./parser//parser.nit:20923 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20923);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20928 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20928);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20930 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20930);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20941 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction442___init(val_t p0, int* init_table){
+ int itpos446 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction442].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos446]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20943;
+ fra.me.meth = LOCATE_parser___ReduceAction442___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20943 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos446] = 1;
+ return;
+}
+void parser___ReduceAction443___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20947;
+ fra.me.meth = LOCATE_parser___ReduceAction443___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:20960 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20960);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:20962 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20962);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:20964 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20964);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:20966 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20966);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ /* ./parser//parser.nit:20968 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20968);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:20973 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20973);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:20975 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20975);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:20986 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction443___init(val_t p0, int* init_table){
+ int itpos447 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction443].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos447]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20988;
+ fra.me.meth = LOCATE_parser___ReduceAction443___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:20988 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos447] = 1;
+ return;
+}
+void parser___ReduceAction444___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 20992;
+ fra.me.meth = LOCATE_parser___ReduceAction444___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21005 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21005);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21007 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21007);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21009 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21009);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21011 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21011);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ /* ./parser//parser.nit:21013 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21013);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21018 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21018);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21020 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21020);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21031 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction444___init(val_t p0, int* init_table){
+ int itpos448 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction444].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos448]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21033;
+ fra.me.meth = LOCATE_parser___ReduceAction444___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21033 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos448] = 1;
+ return;
+}
+void parser___ReduceAction445___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21037;
+ fra.me.meth = LOCATE_parser___ReduceAction445___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21050 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21050);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21052 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21052);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21054 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21054);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21056 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21056);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ /* ./parser//parser.nit:21058 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21058);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21063 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21063);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21065 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21065);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21076 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction445___init(val_t p0, int* init_table){
+ int itpos449 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction445].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos449]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21078;
+ fra.me.meth = LOCATE_parser___ReduceAction445___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21078 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos449] = 1;
+ return;
+}
+void parser___ReduceAction446___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21082;
+ fra.me.meth = LOCATE_parser___ReduceAction446___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21096 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21096);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21098 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21098);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21100 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21100);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21102 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21102);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:21104 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21104);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:21106 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21106);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21112 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21112);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21114 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21114);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21125 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction446___init(val_t p0, int* init_table){
+ int itpos450 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction446].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos450]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21127;
+ fra.me.meth = LOCATE_parser___ReduceAction446___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21127 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos450] = 1;
+ return;
+}
+void parser___ReduceAction447___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21131;
+ fra.me.meth = LOCATE_parser___ReduceAction447___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21144 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21144);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21146 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21146);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21148 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21148);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21150 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21150);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ /* ./parser//parser.nit:21152 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21152);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21157 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21157);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21159 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21159);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21170 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction447___init(val_t p0, int* init_table){
+ int itpos451 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction447].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos451]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21172;
+ fra.me.meth = LOCATE_parser___ReduceAction447___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21172 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos451] = 1;
+ return;
+}
+void parser___ReduceAction448___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21176;
+ fra.me.meth = LOCATE_parser___ReduceAction448___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 10;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21190 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21190);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21192 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21192);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21194 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21194);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21196 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21196);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ /* ./parser//parser.nit:21198 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21198);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:21200 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21200);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21206 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21206);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21208 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21208);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21219 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction448___init(val_t p0, int* init_table){
+ int itpos452 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction448].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos452]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21221;
+ fra.me.meth = LOCATE_parser___ReduceAction448___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21221 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos452] = 1;
+ return;
+}
+void parser___ReduceAction449___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21225;
+ fra.me.meth = LOCATE_parser___ReduceAction449___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 11;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[9] = NIT_NULL;
+ fra.me.REG[10] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21240 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21240);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21242 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21242);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21244 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21244);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ /* ./parser//parser.nit:21246 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21246);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ /* ./parser//parser.nit:21248 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21248);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ /* ./parser//parser.nit:21250 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21250);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ /* ./parser//parser.nit:21252 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21252);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ /* ./parser//parser.nit:21259 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21259);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ /* ./parser//parser.nit:21261 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21261);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21272 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction449___init(val_t p0, int* init_table){
+ int itpos453 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction449].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos453]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21274;
+ fra.me.meth = LOCATE_parser___ReduceAction449___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21274 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos453] = 1;
+ return;
+}
+void parser___ReduceAction450___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21278;
+ fra.me.meth = LOCATE_parser___ReduceAction450___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21287 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21287);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21289 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21289);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
+ /* ./parser//parser.nit:21291 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21291);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ /* ./parser//parser.nit:21293 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21293);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21295 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21295);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21305 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction450___init(val_t p0, int* init_table){
+ int itpos454 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction450].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos454]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21307;
+ fra.me.meth = LOCATE_parser___ReduceAction450___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21307 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos454] = 1;
+ return;
+}
+void parser___ReduceAction451___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21311;
+ fra.me.meth = LOCATE_parser___ReduceAction451___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ /* ./parser//parser.nit:21321 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21321);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ /* ./parser//parser.nit:21323 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21323);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ /* ./parser//parser.nit:21325 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21325);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
+ /* ./parser//parser.nit:21327 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21327);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ /* ./parser//parser.nit:21329 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21329);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21331 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21331);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(12);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21341 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction451___init(val_t p0, int* init_table){
+ int itpos455 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction451].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos455]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21343;
+ fra.me.meth = LOCATE_parser___ReduceAction451___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21343 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos455] = 1;
+ return;
+}
+void parser___ReduceAction452___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21347;
+ fra.me.meth = LOCATE_parser___ReduceAction452___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility();
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(13);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21353 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction452___init(val_t p0, int* init_table){
+ int itpos456 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction452].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos456]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21355;
+ fra.me.meth = LOCATE_parser___ReduceAction452___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21355 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos456] = 1;
+ return;
+}
+void parser___ReduceAction453___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21359;
+ fra.me.meth = LOCATE_parser___ReduceAction453___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprivate, ID_TKwprivate)) /*cast nullable TKwprivate*/;
+ /* ./parser//parser.nit:21365 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21365);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(13);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21370 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction453___init(val_t p0, int* init_table){
+ int itpos457 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction453].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos457]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21372;
+ fra.me.meth = LOCATE_parser___ReduceAction453___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21372 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos457] = 1;
+ return;
+}
+void parser___ReduceAction454___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21376;
+ fra.me.meth = LOCATE_parser___ReduceAction454___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprotected, ID_TKwprotected)) /*cast nullable TKwprotected*/;
+ /* ./parser//parser.nit:21382 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21382);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(13);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21387 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction454___init(val_t p0, int* init_table){
+ int itpos458 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction454].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos458]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21389;
+ fra.me.meth = LOCATE_parser___ReduceAction454___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21389 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos458] = 1;
+ return;
+}
+void parser___ReduceAction455___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21393;
+ fra.me.meth = LOCATE_parser___ReduceAction455___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwintrude, ID_TKwintrude)) /*cast nullable TKwintrude*/;
+ /* ./parser//parser.nit:21399 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21399);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[2]);
+ fra.me.REG[0] = fra.me.REG[2];
+ REGB0 = TAG_Int(13);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21404 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction455___init(val_t p0, int* init_table){
+ int itpos459 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction455].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos459]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21406;
+ fra.me.meth = LOCATE_parser___ReduceAction455___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21406 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos459] = 1;
+ return;
+}
+void parser___ReduceAction456___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21410;
+ fra.me.meth = LOCATE_parser___ReduceAction456___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21418 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21418);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21420 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21420);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
+ /* ./parser//parser.nit:21422 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[5] = fra.me.REG[2];
+ /* ./parser//parser.nit:21423 */
+ } else {
+ /* ./parser//parser.nit:21425 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
+ }
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ fra.me.REG[0] = fra.me.REG[5];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21434 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction456___init(val_t p0, int* init_table){
+ int itpos460 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction456].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos460]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21436;
+ fra.me.meth = LOCATE_parser___ReduceAction456___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21436 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos460] = 1;
+ return;
+}
+void parser___ReduceAction457___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21440;
+ fra.me.meth = LOCATE_parser___ReduceAction457___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 7;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21449 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21449);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
+ /* ./parser//parser.nit:21451 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[5] = fra.me.REG[4];
+ /* ./parser//parser.nit:21452 */
+ } else {
+ /* ./parser//parser.nit:21454 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21458 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21458);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21460 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21460);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
+ /* ./parser//parser.nit:21462 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[6] = fra.me.REG[2];
+ /* ./parser//parser.nit:21463 */
+ } else {
+ /* ./parser//parser.nit:21465 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
+ }
+ fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
+ fra.me.REG[0] = fra.me.REG[6];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21474 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction457___init(val_t p0, int* init_table){
+ int itpos461 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction457].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos461]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21476;
+ fra.me.meth = LOCATE_parser___ReduceAction457___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21476 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos461] = 1;
+ return;
+}
+void parser___ReduceAction458___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21480;
+ fra.me.meth = LOCATE_parser___ReduceAction458___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21488 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21488);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21495 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction458___init(val_t p0, int* init_table){
+ int itpos462 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction458].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos462]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21497;
+ fra.me.meth = LOCATE_parser___ReduceAction458___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21497 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos462] = 1;
+ return;
+}
+void parser___ReduceAction459___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21501;
+ fra.me.meth = LOCATE_parser___ReduceAction459___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21510 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21510);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ /* ./parser//parser.nit:21512 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[4] = fra.me.REG[3];
+ /* ./parser//parser.nit:21513 */
+ } else {
+ /* ./parser//parser.nit:21515 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21519 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21519);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]);
+ fra.me.REG[0] = fra.me.REG[5];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21526 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction459___init(val_t p0, int* init_table){
+ int itpos463 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction459].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos463]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21528;
+ fra.me.meth = LOCATE_parser___ReduceAction459___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21528 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos463] = 1;
+ return;
+}
+void parser___ReduceAction460___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21532;
+ fra.me.meth = LOCATE_parser___ReduceAction460___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21539 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21539);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ /* ./parser//parser.nit:21541 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[4] = fra.me.REG[2];
+ /* ./parser//parser.nit:21542 */
+ } else {
+ /* ./parser//parser.nit:21544 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
+ }
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21553 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction460___init(val_t p0, int* init_table){
+ int itpos464 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction460].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos464]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21555;
+ fra.me.meth = LOCATE_parser___ReduceAction460___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21555 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos464] = 1;
+ return;
+}
+void parser___ReduceAction461___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21559;
+ fra.me.meth = LOCATE_parser___ReduceAction461___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21567 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21567);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ /* ./parser//parser.nit:21569 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[4] = fra.me.REG[3];
+ /* ./parser//parser.nit:21570 */
+ } else {
+ /* ./parser//parser.nit:21572 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21576 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21576);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
+ /* ./parser//parser.nit:21578 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[5] = fra.me.REG[2];
+ /* ./parser//parser.nit:21579 */
+ } else {
+ /* ./parser//parser.nit:21581 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
+ }
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
+ fra.me.REG[0] = fra.me.REG[5];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21590 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction461___init(val_t p0, int* init_table){
+ int itpos465 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction461].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos465]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21592;
+ fra.me.meth = LOCATE_parser___ReduceAction461___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21592 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos465] = 1;
+ return;
+}
+void parser___ReduceAction462___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21596;
+ fra.me.meth = LOCATE_parser___ReduceAction462___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = NEW_Array_array___Array___init();
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]);
+ fra.me.REG[0] = fra.me.REG[3];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21608 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction462___init(val_t p0, int* init_table){
+ int itpos466 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction462].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos466]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21610;
+ fra.me.meth = LOCATE_parser___ReduceAction462___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21610 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos466] = 1;
+ return;
+}
+void parser___ReduceAction463___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21614;
+ fra.me.meth = LOCATE_parser___ReduceAction463___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21622 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21622);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./parser//parser.nit:21624 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[3] = fra.me.REG[2];
+ /* ./parser//parser.nit:21625 */
+ } else {
+ /* ./parser//parser.nit:21627 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ }
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(14);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21636 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction463___init(val_t p0, int* init_table){
+ int itpos467 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction463].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos467]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21638;
+ fra.me.meth = LOCATE_parser___ReduceAction463___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21638 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos467] = 1;
+ return;
+}
+void parser___ReduceAction464___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21642;
+ fra.me.meth = LOCATE_parser___ReduceAction464___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = NEW_Array_array___Array___init();
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]);
+ fra.me.REG[0] = fra.me.REG[3];
+ REGB0 = TAG_Int(15);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21653 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction464___init(val_t p0, int* init_table){
+ int itpos468 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction464].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos468]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21655;
+ fra.me.meth = LOCATE_parser___ReduceAction464___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21655 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos468] = 1;
+ return;
+}
+void parser___ReduceAction465___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21659;
+ fra.me.meth = LOCATE_parser___ReduceAction465___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21666 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21666);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./parser//parser.nit:21668 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[3] = fra.me.REG[2];
+ /* ./parser//parser.nit:21669 */
+ } else {
+ /* ./parser//parser.nit:21671 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ }
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(15);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21680 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction465___init(val_t p0, int* init_table){
+ int itpos469 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction465].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos469]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21682;
+ fra.me.meth = LOCATE_parser___ReduceAction465___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21682 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos469] = 1;
+ return;
+}
+void parser___ReduceAction466___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21686;
+ fra.me.meth = LOCATE_parser___ReduceAction466___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21693 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21693);
+ nit_exit(1);
+ }
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
+ fra.me.REG[0] = fra.me.REG[4];
+ REGB0 = TAG_Int(15);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21700 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction466___init(val_t p0, int* init_table){
+ int itpos470 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction466].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos470]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21702;
+ fra.me.meth = LOCATE_parser___ReduceAction466___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21702 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos470] = 1;
+ return;
+}
+void parser___ReduceAction467___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21706;
+ fra.me.meth = LOCATE_parser___ReduceAction467___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 6;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ /* ./parser//parser.nit:21714 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21714);
+ nit_exit(1);
+ }
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ /* ./parser//parser.nit:21716 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[4] = fra.me.REG[3];
+ /* ./parser//parser.nit:21717 */
+ } else {
+ /* ./parser//parser.nit:21719 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
+ }
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ /* ./parser//parser.nit:21723 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21723);
+ nit_exit(1);
+ }
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]);
+ fra.me.REG[0] = fra.me.REG[5];
+ REGB0 = TAG_Int(15);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ /* ./parser//parser.nit:21730 */
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction467___init(val_t p0, int* init_table){
+ int itpos471 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction467].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos471]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21732;
+ fra.me.meth = LOCATE_parser___ReduceAction467___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./parser//parser.nit:21732 */
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos471] = 1;
+ return;
+}
+void parser___ReduceAction468___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 21736;
+ fra.me.meth = LOCATE_parser___ReduceAction468___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
+ /* ./parser//parser.nit:21746 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Assert failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21746);
+ nit_exit(1);
+ }
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ /* ./parser//parser.nit:21747 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
+ REGB0 = REGB1;