+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ /* ./parser//parser.nit:2970 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
+ }
+ /* ./parser//parser.nit:2972 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* ./parser//parser.nit:2973 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:2974 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction60____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2974);
+ }
+ REGB0 = ATTR_parser___ReduceAction60____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction60___init(val_t p0, val_t p1, int* init_table){
+ int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction60].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos63]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 2977;
+ fra.me.meth = LOCATE_parser___ReduceAction60___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:2977 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction60____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos63] = 1;
+ return;
+}
+void parser___ReduceAction61___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 = 2981;
+ fra.me.meth = LOCATE_parser___ReduceAction61___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;
+ /* ./parser//parser.nit:2983 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:2984 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:2985 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:2986 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:2988 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:2989 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction61____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2989);
+ }
+ REGB0 = ATTR_parser___ReduceAction61____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction61___init(val_t p0, val_t p1, int* init_table){
+ int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction61].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos64]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 2992;
+ fra.me.meth = LOCATE_parser___ReduceAction61___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:2992 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction61____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos64] = 1;
+ return;
+}
+void parser___ReduceAction62___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 = 2996;
+ fra.me.meth = LOCATE_parser___ReduceAction62___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;
+ /* ./parser//parser.nit:2998 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:2999 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3001 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3001);
+ }
+ /* ./parser//parser.nit:3002 */
+ fra.me.REG[3] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:3006 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3007 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction62____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3007);
+ }
+ REGB0 = ATTR_parser___ReduceAction62____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction62___init(val_t p0, val_t p1, int* init_table){
+ int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction62].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos65]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3010;
+ fra.me.meth = LOCATE_parser___ReduceAction62___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3010 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction62____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos65] = 1;
+ return;
+}
+void parser___ReduceAction63___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 = 3014;
+ fra.me.meth = LOCATE_parser___ReduceAction63___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;
+ /* ./parser//parser.nit:3016 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3017 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3018 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3020 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3020);
+ }
+ /* ./parser//parser.nit:3022 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3022);
+ }
+ /* ./parser//parser.nit:3023 */
+ fra.me.REG[3] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3027 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3028 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction63____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3028);
+ }
+ REGB0 = ATTR_parser___ReduceAction63____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction63___init(val_t p0, val_t p1, int* init_table){
+ int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction63].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos66]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3031;
+ fra.me.meth = LOCATE_parser___ReduceAction63___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3031 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction63____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos66] = 1;
+ return;
+}
+void parser___ReduceAction64___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3035;
+ fra.me.meth = LOCATE_parser___ReduceAction64___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;
+ /* ./parser//parser.nit:3037 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3038 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3039 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3040 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3041 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3043 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwspecial, ID_TKwspecial)) /*cast nullable TKwspecial*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3043);
+ }
+ /* ./parser//parser.nit:3045 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3045);
+ }
+ /* ./parser//parser.nit:3046 */
+ fra.me.REG[3] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:3051 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3052 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction64____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3052);
+ }
+ REGB0 = ATTR_parser___ReduceAction64____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction64___init(val_t p0, val_t p1, int* init_table){
+ int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction64].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos67]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3055;
+ fra.me.meth = LOCATE_parser___ReduceAction64___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3055 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction64____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos67] = 1;
+ return;
+}
+void parser___ReduceAction65___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 = 3059;
+ fra.me.meth = LOCATE_parser___ReduceAction65___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;
+ /* ./parser//parser.nit:3061 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3062 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3063 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3064 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3065 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3067 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3067);
+ }
+ /* ./parser//parser.nit:3069 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3069);
+ }
+ /* ./parser//parser.nit:3070 */
+ fra.me.REG[3] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3075 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3076 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction65____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3076);
+ }
+ REGB0 = ATTR_parser___ReduceAction65____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction65___init(val_t p0, val_t p1, int* init_table){
+ int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction65].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos68]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3079;
+ fra.me.meth = LOCATE_parser___ReduceAction65___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3079 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction65____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos68] = 1;
+ return;
+}
+void parser___ReduceAction66___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 = 3083;
+ fra.me.meth = LOCATE_parser___ReduceAction66___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;
+ /* ./parser//parser.nit:3085 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3086 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3087 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3089 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3090 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction66____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3090);
+ }
+ REGB0 = ATTR_parser___ReduceAction66____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction66___init(val_t p0, val_t p1, int* init_table){
+ int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction66].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos69]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3093;
+ fra.me.meth = LOCATE_parser___ReduceAction66___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3093 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction66____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos69] = 1;
+ return;
+}
+void parser___ReduceAction67___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3097;
+ fra.me.meth = LOCATE_parser___ReduceAction67___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3099 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3100 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3101 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3102 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3103 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3104 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3105 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3106 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3108 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3108);
+ }
+ /* ./parser//parser.nit:3110 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3110);
+ }
+ /* ./parser//parser.nit:3112 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3112);
+ }
+ /* ./parser//parser.nit:3114 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3114);
+ }
+ /* ./parser//parser.nit:3116 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3116);
+ }
+ /* ./parser//parser.nit:3118 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3118);
+ }
+ /* ./parser//parser.nit:3119 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3128 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3129 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction67____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3129);
+ }
+ REGB0 = ATTR_parser___ReduceAction67____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction67___init(val_t p0, val_t p1, int* init_table){
+ int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction67].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos70]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3132;
+ fra.me.meth = LOCATE_parser___ReduceAction67___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3132 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction67____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos70] = 1;
+ return;
+}
+void parser___ReduceAction68___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 = 3136;
+ fra.me.meth = LOCATE_parser___ReduceAction68___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;
+ /* ./parser//parser.nit:3138 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3139 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3140 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3141 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3142 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3143 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3144 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3145 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3146 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3148 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3148);
+ }
+ /* ./parser//parser.nit:3150 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3150);
+ }
+ /* ./parser//parser.nit:3152 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3152);
+ }
+ /* ./parser//parser.nit:3154 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3154);
+ }
+ /* ./parser//parser.nit:3156 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3156);
+ }
+ /* ./parser//parser.nit:3158 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3158);
+ }
+ /* ./parser//parser.nit:3160 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3160);
+ }
+ /* ./parser//parser.nit:3161 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3170 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3171 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction68____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3171);
+ }
+ REGB0 = ATTR_parser___ReduceAction68____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction68___init(val_t p0, val_t p1, int* init_table){
+ int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction68].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos71]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3174;
+ fra.me.meth = LOCATE_parser___ReduceAction68___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3174 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction68____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos71] = 1;
+ return;
+}
+void parser___ReduceAction69___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3178;
+ fra.me.meth = LOCATE_parser___ReduceAction69___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3180 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3181 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3182 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3183 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3184 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3185 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3186 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3187 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3188 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3190 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
+ }
+ /* ./parser//parser.nit:3192 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
+ }
+ /* ./parser//parser.nit:3194 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3194);
+ }
+ /* ./parser//parser.nit:3196 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3196);
+ }
+ /* ./parser//parser.nit:3198 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3198);
+ }
+ /* ./parser//parser.nit:3200 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3200);
+ }
+ /* ./parser//parser.nit:3201 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3210 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3211 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction69____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3211);
+ }
+ REGB0 = ATTR_parser___ReduceAction69____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction69___init(val_t p0, val_t p1, int* init_table){
+ int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction69].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos72]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3214;
+ fra.me.meth = LOCATE_parser___ReduceAction69___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3214 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction69____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos72] = 1;
+ return;
+}
+void parser___ReduceAction70___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 = 3218;
+ fra.me.meth = LOCATE_parser___ReduceAction70___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;
+ /* ./parser//parser.nit:3220 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3221 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3222 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3223 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3224 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3225 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3226 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3227 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3228 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3229 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3231 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3231);
+ }
+ /* ./parser//parser.nit:3233 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3233);
+ }
+ /* ./parser//parser.nit:3235 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3235);
+ }
+ /* ./parser//parser.nit:3237 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3237);
+ }
+ /* ./parser//parser.nit:3239 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3239);
+ }
+ /* ./parser//parser.nit:3241 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3241);
+ }
+ /* ./parser//parser.nit:3243 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3243);
+ }
+ /* ./parser//parser.nit:3244 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3253 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3254 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction70____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3254);
+ }
+ REGB0 = ATTR_parser___ReduceAction70____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction70___init(val_t p0, val_t p1, int* init_table){
+ int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction70].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos73]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3257;
+ fra.me.meth = LOCATE_parser___ReduceAction70___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3257 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction70____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos73] = 1;
+ return;
+}
+void parser___ReduceAction71___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3261;
+ fra.me.meth = LOCATE_parser___ReduceAction71___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3263 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3264 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3265 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3266 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3267 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3268 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3269 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3270 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3271 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3273 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3273);
+ }
+ /* ./parser//parser.nit:3275 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3275);
+ }
+ /* ./parser//parser.nit:3277 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3277);
+ }
+ /* ./parser//parser.nit:3279 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3279);
+ }
+ /* ./parser//parser.nit:3281 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3281);
+ }
+ /* ./parser//parser.nit:3283 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3283);
+ }
+ /* ./parser//parser.nit:3284 */
+ fra.me.REG[3] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3293 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3294 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction71____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3294);
+ }
+ REGB0 = ATTR_parser___ReduceAction71____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction71___init(val_t p0, val_t p1, int* init_table){
+ int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction71].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos74]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3297;
+ fra.me.meth = LOCATE_parser___ReduceAction71___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3297 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction71____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos74] = 1;
+ return;
+}
+void parser___ReduceAction72___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 = 3301;
+ fra.me.meth = LOCATE_parser___ReduceAction72___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;
+ /* ./parser//parser.nit:3303 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3304 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3305 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3306 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3307 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3308 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3309 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3310 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3311 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3312 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3314 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3314);
+ }
+ /* ./parser//parser.nit:3316 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3316);
+ }
+ /* ./parser//parser.nit:3318 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3318);
+ }
+ /* ./parser//parser.nit:3320 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3320);
+ }
+ /* ./parser//parser.nit:3322 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3322);
+ }
+ /* ./parser//parser.nit:3324 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3324);
+ }
+ /* ./parser//parser.nit:3326 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3326);
+ }
+ /* ./parser//parser.nit:3327 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3336 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3337 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction72____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3337);
+ }
+ REGB0 = ATTR_parser___ReduceAction72____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction72___init(val_t p0, val_t p1, int* init_table){
+ int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction72].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos75]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3340;
+ fra.me.meth = LOCATE_parser___ReduceAction72___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3340 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction72____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos75] = 1;
+ return;
+}
+void parser___ReduceAction73___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3344;
+ fra.me.meth = LOCATE_parser___ReduceAction73___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3346 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3347 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3348 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3349 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3350 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3351 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3352 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3353 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3355 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3355);
+ }
+ /* ./parser//parser.nit:3357 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3357);
+ }
+ /* ./parser//parser.nit:3359 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3359);
+ }
+ /* ./parser//parser.nit:3361 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3361);
+ }
+ /* ./parser//parser.nit:3363 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3363);
+ }
+ /* ./parser//parser.nit:3364 */
+ fra.me.REG[3] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3372 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3373 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction73____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3373);
+ }
+ REGB0 = ATTR_parser___ReduceAction73____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction73___init(val_t p0, val_t p1, int* init_table){
+ int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction73].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos76]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3376;
+ fra.me.meth = LOCATE_parser___ReduceAction73___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3376 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction73____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos76] = 1;
+ return;
+}
+void parser___ReduceAction74___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3380;
+ fra.me.meth = LOCATE_parser___ReduceAction74___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3382 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3383 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3384 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3385 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3386 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3387 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3388 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3389 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3390 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3392 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3392);
+ }
+ /* ./parser//parser.nit:3394 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3394);
+ }
+ /* ./parser//parser.nit:3396 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3396);
+ }
+ /* ./parser//parser.nit:3398 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3398);
+ }
+ /* ./parser//parser.nit:3400 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3400);
+ }
+ /* ./parser//parser.nit:3402 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3402);
+ }
+ /* ./parser//parser.nit:3403 */
+ fra.me.REG[3] = 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[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3411 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3412 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction74____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3412);
+ }
+ REGB0 = ATTR_parser___ReduceAction74____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction74___init(val_t p0, val_t p1, int* init_table){
+ int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction74].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos77]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3415;
+ fra.me.meth = LOCATE_parser___ReduceAction74___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3415 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction74____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos77] = 1;
+ return;
+}
+void parser___ReduceAction75___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3419;
+ fra.me.meth = LOCATE_parser___ReduceAction75___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3421 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3422 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3423 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3424 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3425 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3426 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3427 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3428 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3430 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3430);
+ }
+ /* ./parser//parser.nit:3432 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3432);
+ }
+ /* ./parser//parser.nit:3434 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3434);
+ }
+ /* ./parser//parser.nit:3436 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3436);
+ }
+ /* ./parser//parser.nit:3438 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3438);
+ }
+ /* ./parser//parser.nit:3439 */
+ fra.me.REG[3] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3447 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3448 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction75____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3448);
+ }
+ REGB0 = ATTR_parser___ReduceAction75____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction75___init(val_t p0, val_t p1, int* init_table){
+ int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction75].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos78]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3451;
+ fra.me.meth = LOCATE_parser___ReduceAction75___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3451 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction75____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos78] = 1;
+ return;
+}
+void parser___ReduceAction76___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3455;
+ fra.me.meth = LOCATE_parser___ReduceAction76___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3457 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3458 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3459 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3460 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3461 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3462 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3463 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3464 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3465 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3467 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3467);
+ }
+ /* ./parser//parser.nit:3469 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3469);
+ }
+ /* ./parser//parser.nit:3471 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3471);
+ }
+ /* ./parser//parser.nit:3473 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3473);
+ }
+ /* ./parser//parser.nit:3475 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3475);
+ }
+ /* ./parser//parser.nit:3477 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3477);
+ }
+ /* ./parser//parser.nit:3478 */
+ fra.me.REG[3] = 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[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3486 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3487 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction76____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3487);
+ }
+ REGB0 = ATTR_parser___ReduceAction76____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction76___init(val_t p0, val_t p1, int* init_table){
+ int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction76].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos79]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3490;
+ fra.me.meth = LOCATE_parser___ReduceAction76___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3490 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction76____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos79] = 1;
+ return;
+}
+void parser___ReduceAction77___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3494;
+ fra.me.meth = LOCATE_parser___ReduceAction77___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3496 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3497 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3498 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3499 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3500 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3501 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3502 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3503 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3505 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3505);
+ }
+ /* ./parser//parser.nit:3507 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3507);
+ }
+ /* ./parser//parser.nit:3509 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3509);
+ }
+ /* ./parser//parser.nit:3511 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3511);
+ }
+ /* ./parser//parser.nit:3513 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3513);
+ }
+ /* ./parser//parser.nit:3514 */
+ fra.me.REG[3] = 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], NIT_NULL);
+ /* ./parser//parser.nit:3523 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3524 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction77____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3524);
+ }
+ REGB0 = ATTR_parser___ReduceAction77____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction77___init(val_t p0, val_t p1, int* init_table){
+ int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction77].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos80]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3527;
+ fra.me.meth = LOCATE_parser___ReduceAction77___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3527 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction77____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos80] = 1;
+ return;
+}
+void parser___ReduceAction78___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3531;
+ fra.me.meth = LOCATE_parser___ReduceAction78___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3533 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3534 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3535 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3536 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3537 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3538 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3539 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3540 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3541 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3543 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3543);
+ }
+ /* ./parser//parser.nit:3545 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3545);
+ }
+ /* ./parser//parser.nit:3547 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3547);
+ }
+ /* ./parser//parser.nit:3549 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3549);
+ }
+ /* ./parser//parser.nit:3551 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3551);
+ }
+ /* ./parser//parser.nit:3553 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3553);
+ }
+ /* ./parser//parser.nit:3554 */
+ fra.me.REG[3] = 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], NIT_NULL);
+ /* ./parser//parser.nit:3563 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3564 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction78____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3564);
+ }
+ REGB0 = ATTR_parser___ReduceAction78____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction78___init(val_t p0, val_t p1, int* init_table){
+ int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction78].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos81]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3567;
+ fra.me.meth = LOCATE_parser___ReduceAction78___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3567 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction78____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos81] = 1;
+ return;
+}
+void parser___ReduceAction79___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3571;
+ fra.me.meth = LOCATE_parser___ReduceAction79___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3573 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3574 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3575 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3576 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3577 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3578 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3579 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3580 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3581 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3583 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3583);
+ }
+ /* ./parser//parser.nit:3585 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3585);
+ }
+ /* ./parser//parser.nit:3587 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3587);
+ }
+ /* ./parser//parser.nit:3589 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3589);
+ }
+ /* ./parser//parser.nit:3591 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3591);
+ }
+ /* ./parser//parser.nit:3593 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3593);
+ }
+ /* ./parser//parser.nit:3594 */
+ fra.me.REG[3] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3603 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3604 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction79____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3604);
+ }
+ REGB0 = ATTR_parser___ReduceAction79____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction79___init(val_t p0, val_t p1, int* init_table){
+ int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction79].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos82]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3607;
+ fra.me.meth = LOCATE_parser___ReduceAction79___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3607 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction79____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos82] = 1;
+ return;
+}
+void parser___ReduceAction80___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 = 3611;
+ fra.me.meth = LOCATE_parser___ReduceAction80___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;
+ /* ./parser//parser.nit:3613 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3614 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3615 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3616 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3617 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3618 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3619 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3620 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3621 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3622 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3624 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3624);
+ }
+ /* ./parser//parser.nit:3626 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3626);
+ }
+ /* ./parser//parser.nit:3628 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3628);
+ }
+ /* ./parser//parser.nit:3630 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3630);
+ }
+ /* ./parser//parser.nit:3632 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3632);
+ }
+ /* ./parser//parser.nit:3634 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3634);
+ }
+ /* ./parser//parser.nit:3636 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TString, ID_TString)) /*cast nullable TString*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3636);
+ }
+ /* ./parser//parser.nit:3637 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:3646 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3647 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction80____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3647);
+ }
+ REGB0 = ATTR_parser___ReduceAction80____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction80___init(val_t p0, val_t p1, int* init_table){
+ int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction80].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos83]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3650;
+ fra.me.meth = LOCATE_parser___ReduceAction80___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3650 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction80____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos83] = 1;
+ return;
+}
+void parser___ReduceAction81___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 = 3654;
+ fra.me.meth = LOCATE_parser___ReduceAction81___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;
+ /* ./parser//parser.nit:3656 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3657 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3658 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3659 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3660 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3662 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3662);
+ }
+ /* ./parser//parser.nit:3664 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3664);
+ }
+ /* ./parser//parser.nit:3666 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3666);
+ }
+ /* ./parser//parser.nit:3668 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3668);
+ }
+ /* ./parser//parser.nit:3669 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3681 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3682 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction81____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3682);
+ }
+ REGB0 = ATTR_parser___ReduceAction81____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction81___init(val_t p0, val_t p1, int* init_table){
+ int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction81].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos84]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3685;
+ fra.me.meth = LOCATE_parser___ReduceAction81___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3685 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction81____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos84] = 1;
+ return;
+}
+void parser___ReduceAction82___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3689;
+ fra.me.meth = LOCATE_parser___ReduceAction82___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3691 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3692 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3693 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3694 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3695 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3696 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3698 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3698);
+ }
+ /* ./parser//parser.nit:3700 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3700);
+ }
+ /* ./parser//parser.nit:3702 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3702);
+ }
+ /* ./parser//parser.nit:3704 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3704);
+ }
+ /* ./parser//parser.nit:3706 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3706);
+ }
+ /* ./parser//parser.nit:3707 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3719 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3720 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction82____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3720);
+ }
+ REGB0 = ATTR_parser___ReduceAction82____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction82___init(val_t p0, val_t p1, int* init_table){
+ int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction82].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos85]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3723;
+ fra.me.meth = LOCATE_parser___ReduceAction82___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3723 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction82____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos85] = 1;
+ return;
+}
+void parser___ReduceAction83___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3727;
+ fra.me.meth = LOCATE_parser___ReduceAction83___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3729 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3730 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3731 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3732 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3733 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3734 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3736 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3736);
+ }
+ /* ./parser//parser.nit:3738 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3738);
+ }
+ /* ./parser//parser.nit:3740 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3740);
+ }
+ /* ./parser//parser.nit:3742 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3742);
+ }
+ /* ./parser//parser.nit:3744 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3744);
+ }
+ /* ./parser//parser.nit:3745 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3757 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3758 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction83____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3758);
+ }
+ REGB0 = ATTR_parser___ReduceAction83____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction83___init(val_t p0, val_t p1, int* init_table){
+ int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction83].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos86]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3761;
+ fra.me.meth = LOCATE_parser___ReduceAction83___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3761 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction83____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos86] = 1;
+ return;
+}
+void parser___ReduceAction84___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3765;
+ fra.me.meth = LOCATE_parser___ReduceAction84___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3767 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3768 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3769 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3770 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3771 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3772 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3773 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3775 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3775);
+ }
+ /* ./parser//parser.nit:3777 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3777);
+ }
+ /* ./parser//parser.nit:3779 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3779);
+ }
+ /* ./parser//parser.nit:3781 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3781);
+ }
+ /* ./parser//parser.nit:3783 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3783);
+ }
+ /* ./parser//parser.nit:3785 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3785);
+ }
+ /* ./parser//parser.nit:3786 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3798 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3799 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction84____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3799);
+ }
+ REGB0 = ATTR_parser___ReduceAction84____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction84___init(val_t p0, val_t p1, int* init_table){
+ int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction84].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos87]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3802;
+ fra.me.meth = LOCATE_parser___ReduceAction84___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3802 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction84____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos87] = 1;
+ return;
+}
+void parser___ReduceAction85___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3806;
+ fra.me.meth = LOCATE_parser___ReduceAction85___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3808 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3809 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3810 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3811 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3812 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3813 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3815 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3815);
+ }
+ /* ./parser//parser.nit:3817 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3817);
+ }
+ /* ./parser//parser.nit:3819 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3819);
+ }
+ /* ./parser//parser.nit:3821 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3821);
+ }
+ /* ./parser//parser.nit:3823 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3823);
+ }
+ /* ./parser//parser.nit:3824 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3836 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3837 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction85____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3837);
+ }
+ REGB0 = ATTR_parser___ReduceAction85____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction85___init(val_t p0, val_t p1, int* init_table){
+ int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction85].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 3840;
+ fra.me.meth = LOCATE_parser___ReduceAction85___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3840 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction85____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos88] = 1;
+ return;
+}
+void parser___ReduceAction86___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3844;
+ fra.me.meth = LOCATE_parser___ReduceAction86___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3846 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3847 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3848 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3849 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3850 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3851 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3852 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3854 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3854);
+ }
+ /* ./parser//parser.nit:3856 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3856);
+ }
+ /* ./parser//parser.nit:3858 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3858);
+ }
+ /* ./parser//parser.nit:3860 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3860);
+ }
+ /* ./parser//parser.nit:3862 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3862);
+ }
+ /* ./parser//parser.nit:3864 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3864);
+ }
+ /* ./parser//parser.nit:3865 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3877 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3878 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction86____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3878);
+ }
+ REGB0 = ATTR_parser___ReduceAction86____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction86___init(val_t p0, val_t p1, int* init_table){
+ int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction86].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 3881;
+ fra.me.meth = LOCATE_parser___ReduceAction86___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3881 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction86____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos89] = 1;
+ return;
+}
+void parser___ReduceAction87___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3885;
+ fra.me.meth = LOCATE_parser___ReduceAction87___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3887 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3888 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3889 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3890 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3891 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3892 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3893 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3895 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3895);
+ }
+ /* ./parser//parser.nit:3897 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3897);
+ }
+ /* ./parser//parser.nit:3899 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3899);
+ }
+ /* ./parser//parser.nit:3901 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3901);
+ }
+ /* ./parser//parser.nit:3903 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3903);
+ }
+ /* ./parser//parser.nit:3905 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3905);
+ }
+ /* ./parser//parser.nit:3906 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3918 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3919 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction87____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3919);
+ }
+ REGB0 = ATTR_parser___ReduceAction87____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction87___init(val_t p0, val_t p1, int* init_table){
+ int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction87].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 3922;
+ fra.me.meth = LOCATE_parser___ReduceAction87___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3922 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction87____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos90] = 1;
+ return;
+}
+void parser___ReduceAction88___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 = 3926;
+ fra.me.meth = LOCATE_parser___ReduceAction88___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;
+ /* ./parser//parser.nit:3928 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3929 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3930 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3931 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3932 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3933 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3934 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3935 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3937 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3937);
+ }
+ /* ./parser//parser.nit:3939 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3939);
+ }
+ /* ./parser//parser.nit:3941 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3941);
+ }
+ /* ./parser//parser.nit:3943 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3943);
+ }
+ /* ./parser//parser.nit:3945 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3945);
+ }
+ /* ./parser//parser.nit:3947 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3947);
+ }
+ /* ./parser//parser.nit:3949 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3949);
+ }
+ /* ./parser//parser.nit:3950 */
+ fra.me.REG[3] = 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, NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:3962 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:3963 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction88____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3963);
+ }
+ REGB0 = ATTR_parser___ReduceAction88____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction88___init(val_t p0, val_t p1, int* init_table){
+ int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction88].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 3966;
+ fra.me.meth = LOCATE_parser___ReduceAction88___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:3966 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction88____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos91] = 1;
+ return;
+}
+void parser___ReduceAction89___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 3970;
+ fra.me.meth = LOCATE_parser___ReduceAction89___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:3972 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:3973 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3974 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3975 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3976 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3977 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:3979 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3979);
+ }
+ /* ./parser//parser.nit:3981 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3981);
+ }
+ /* ./parser//parser.nit:3983 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3983);
+ }
+ /* ./parser//parser.nit:3985 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3985);
+ }
+ /* ./parser//parser.nit:3987 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 3987);
+ }
+ /* ./parser//parser.nit:3988 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4000 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4001 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction89____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4001);
+ }
+ REGB0 = ATTR_parser___ReduceAction89____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction89___init(val_t p0, val_t p1, int* init_table){
+ int itpos92 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction89].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4004;
+ fra.me.meth = LOCATE_parser___ReduceAction89___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4004 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction89____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos92] = 1;
+ return;
+}
+void parser___ReduceAction90___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4008;
+ fra.me.meth = LOCATE_parser___ReduceAction90___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4010 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4011 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4012 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4013 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4014 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4015 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4016 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4018 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4018);
+ }
+ /* ./parser//parser.nit:4020 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4020);
+ }
+ /* ./parser//parser.nit:4022 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4022);
+ }
+ /* ./parser//parser.nit:4024 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4024);
+ }
+ /* ./parser//parser.nit:4026 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4026);
+ }
+ /* ./parser//parser.nit:4028 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4028);
+ }
+ /* ./parser//parser.nit:4029 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4041 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4042 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction90____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4042);
+ }
+ REGB0 = ATTR_parser___ReduceAction90____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction90___init(val_t p0, val_t p1, int* init_table){
+ int itpos93 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction90].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4045;
+ fra.me.meth = LOCATE_parser___ReduceAction90___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4045 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction90____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos93] = 1;
+ return;
+}
+void parser___ReduceAction91___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4049;
+ fra.me.meth = LOCATE_parser___ReduceAction91___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4051 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4052 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4053 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4054 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4055 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4056 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4057 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4059 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4059);
+ }
+ /* ./parser//parser.nit:4061 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4061);
+ }
+ /* ./parser//parser.nit:4063 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4063);
+ }
+ /* ./parser//parser.nit:4065 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4065);
+ }
+ /* ./parser//parser.nit:4067 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4067);
+ }
+ /* ./parser//parser.nit:4069 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4069);
+ }
+ /* ./parser//parser.nit:4070 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4082 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4083 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction91____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4083);
+ }
+ REGB0 = ATTR_parser___ReduceAction91____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction91___init(val_t p0, val_t p1, int* init_table){
+ int itpos94 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction91].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4086;
+ fra.me.meth = LOCATE_parser___ReduceAction91___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4086 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction91____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos94] = 1;
+ return;
+}
+void parser___ReduceAction92___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 = 4090;
+ fra.me.meth = LOCATE_parser___ReduceAction92___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;
+ /* ./parser//parser.nit:4092 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4093 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4094 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4095 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4096 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4097 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4098 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4099 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4101 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4101);
+ }
+ /* ./parser//parser.nit:4103 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4103);
+ }
+ /* ./parser//parser.nit:4105 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4105);
+ }
+ /* ./parser//parser.nit:4107 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4107);
+ }
+ /* ./parser//parser.nit:4109 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4109);
+ }
+ /* ./parser//parser.nit:4111 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4111);
+ }
+ /* ./parser//parser.nit:4113 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4113);
+ }
+ /* ./parser//parser.nit:4114 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4126 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4127 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction92____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4127);
+ }
+ REGB0 = ATTR_parser___ReduceAction92____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction92___init(val_t p0, val_t p1, int* init_table){
+ int itpos95 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction92].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4130;
+ fra.me.meth = LOCATE_parser___ReduceAction92___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4130 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction92____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos95] = 1;
+ return;
+}
+void parser___ReduceAction93___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4134;
+ fra.me.meth = LOCATE_parser___ReduceAction93___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4136 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4137 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4138 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4139 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4140 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4141 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4142 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4144 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4144);
+ }
+ /* ./parser//parser.nit:4146 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4146);
+ }
+ /* ./parser//parser.nit:4148 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4148);
+ }
+ /* ./parser//parser.nit:4150 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4150);
+ }
+ /* ./parser//parser.nit:4152 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4152);
+ }
+ /* ./parser//parser.nit:4154 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4154);
+ }
+ /* ./parser//parser.nit:4155 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4167 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4168 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction93____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4168);
+ }
+ REGB0 = ATTR_parser___ReduceAction93____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction93___init(val_t p0, val_t p1, int* init_table){
+ int itpos96 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction93].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4171;
+ fra.me.meth = LOCATE_parser___ReduceAction93___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4171 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction93____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos96] = 1;
+ return;
+}
+void parser___ReduceAction94___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 = 4175;
+ fra.me.meth = LOCATE_parser___ReduceAction94___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;
+ /* ./parser//parser.nit:4177 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4178 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4179 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4180 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4181 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4182 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4183 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4184 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4186 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4186);
+ }
+ /* ./parser//parser.nit:4188 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4188);
+ }
+ /* ./parser//parser.nit:4190 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4190);
+ }
+ /* ./parser//parser.nit:4192 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4192);
+ }
+ /* ./parser//parser.nit:4194 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4194);
+ }
+ /* ./parser//parser.nit:4196 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4196);
+ }
+ /* ./parser//parser.nit:4198 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4198);
+ }
+ /* ./parser//parser.nit:4199 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4211 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4212 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction94____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4212);
+ }
+ REGB0 = ATTR_parser___ReduceAction94____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction94___init(val_t p0, val_t p1, int* init_table){
+ int itpos97 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction94].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4215;
+ fra.me.meth = LOCATE_parser___ReduceAction94___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4215 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction94____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos97] = 1;
+ return;
+}
+void parser___ReduceAction95___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 = 4219;
+ fra.me.meth = LOCATE_parser___ReduceAction95___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;
+ /* ./parser//parser.nit:4221 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4222 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4223 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4224 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4225 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4226 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4227 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4228 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4230 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4230);
+ }
+ /* ./parser//parser.nit:4232 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4232);
+ }
+ /* ./parser//parser.nit:4234 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4234);
+ }
+ /* ./parser//parser.nit:4236 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4236);
+ }
+ /* ./parser//parser.nit:4238 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4238);
+ }
+ /* ./parser//parser.nit:4240 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4240);
+ }
+ /* ./parser//parser.nit:4242 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4242);
+ }
+ /* ./parser//parser.nit:4243 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4255 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4256 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction95____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4256);
+ }
+ REGB0 = ATTR_parser___ReduceAction95____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction95___init(val_t p0, val_t p1, int* init_table){
+ int itpos98 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction95].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4259;
+ fra.me.meth = LOCATE_parser___ReduceAction95___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4259 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction95____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos98] = 1;
+ return;
+}
+void parser___ReduceAction96___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 = 4263;
+ fra.me.meth = LOCATE_parser___ReduceAction96___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;
+ /* ./parser//parser.nit:4265 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4266 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4267 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4268 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4269 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4270 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4271 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4272 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4273 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4275 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4275);
+ }
+ /* ./parser//parser.nit:4277 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4277);
+ }
+ /* ./parser//parser.nit:4279 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4279);
+ }
+ /* ./parser//parser.nit:4281 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4281);
+ }
+ /* ./parser//parser.nit:4283 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4283);
+ }
+ /* ./parser//parser.nit:4285 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4285);
+ }
+ /* ./parser//parser.nit:4287 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4287);
+ }
+ /* ./parser//parser.nit:4289 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4289);
+ }
+ /* ./parser//parser.nit:4290 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:4302 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4303 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction96____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4303);
+ }
+ REGB0 = ATTR_parser___ReduceAction96____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction96___init(val_t p0, val_t p1, int* init_table){
+ int itpos99 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction96].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4306;
+ fra.me.meth = LOCATE_parser___ReduceAction96___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4306 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction96____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos99] = 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 = 4310;
+ 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;
+ /* ./parser//parser.nit:4312 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4313 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4314 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4315 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4316 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4317 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4318 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4319 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4321 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4321);
+ }
+ /* ./parser//parser.nit:4323 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4323);
+ }
+ /* ./parser//parser.nit:4325 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4325);
+ }
+ /* ./parser//parser.nit:4327 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4327);
+ }
+ /* ./parser//parser.nit:4329 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4329);
+ }
+ /* ./parser//parser.nit:4330 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4342 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4343 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction97____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4343);
+ }
+ REGB0 = ATTR_parser___ReduceAction97____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction97___init(val_t p0, val_t p1, int* init_table){
+ int itpos100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction97].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4346;
+ fra.me.meth = LOCATE_parser___ReduceAction97___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4346 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction97____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos100] = 1;
+ return;
+}
+void parser___ReduceAction98___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4350;
+ fra.me.meth = LOCATE_parser___ReduceAction98___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4352 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4353 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4354 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4355 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4356 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4357 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4358 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4359 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4360 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4362 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4362);
+ }
+ /* ./parser//parser.nit:4364 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4364);
+ }
+ /* ./parser//parser.nit:4366 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4366);
+ }
+ /* ./parser//parser.nit:4368 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4368);
+ }
+ /* ./parser//parser.nit:4370 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4370);
+ }
+ /* ./parser//parser.nit:4372 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4372);
+ }
+ /* ./parser//parser.nit:4373 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4385 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4386 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction98____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4386);
+ }
+ REGB0 = ATTR_parser___ReduceAction98____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction98___init(val_t p0, val_t p1, int* init_table){
+ int itpos101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction98].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4389;
+ fra.me.meth = LOCATE_parser___ReduceAction98___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4389 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction98____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos101] = 1;
+ return;
+}
+void parser___ReduceAction99___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4393;
+ fra.me.meth = LOCATE_parser___ReduceAction99___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4395 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4396 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4397 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4398 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4399 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4400 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4401 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4402 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4403 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4405 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4405);
+ }
+ /* ./parser//parser.nit:4407 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4407);
+ }
+ /* ./parser//parser.nit:4409 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4409);
+ }
+ /* ./parser//parser.nit:4411 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4411);
+ }
+ /* ./parser//parser.nit:4413 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4413);
+ }
+ /* ./parser//parser.nit:4415 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4415);
+ }
+ /* ./parser//parser.nit:4416 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4428 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4429 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction99____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4429);
+ }
+ REGB0 = ATTR_parser___ReduceAction99____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction99___init(val_t p0, val_t p1, int* init_table){
+ int itpos102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction99].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4432;
+ fra.me.meth = LOCATE_parser___ReduceAction99___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4432 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction99____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos102] = 1;
+ return;
+}
+void parser___ReduceAction100___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 = 4436;
+ fra.me.meth = LOCATE_parser___ReduceAction100___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;
+ /* ./parser//parser.nit:4438 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4439 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4440 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4441 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4442 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4443 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4444 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4445 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4446 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4447 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4449 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4449);
+ }
+ /* ./parser//parser.nit:4451 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4451);
+ }
+ /* ./parser//parser.nit:4453 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4453);
+ }
+ /* ./parser//parser.nit:4455 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4455);
+ }
+ /* ./parser//parser.nit:4457 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4457);
+ }
+ /* ./parser//parser.nit:4459 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4459);
+ }
+ /* ./parser//parser.nit:4461 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4461);
+ }
+ /* ./parser//parser.nit:4462 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4474 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4475 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction100____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4475);
+ }
+ REGB0 = ATTR_parser___ReduceAction100____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction100___init(val_t p0, val_t p1, int* init_table){
+ int itpos103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction100].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4478;
+ fra.me.meth = LOCATE_parser___ReduceAction100___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4478 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction100____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos103] = 1;
+ return;
+}
+void parser___ReduceAction101___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4482;
+ fra.me.meth = LOCATE_parser___ReduceAction101___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4484 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4485 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4486 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4487 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4488 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4489 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4490 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4491 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4492 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4494 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4494);
+ }
+ /* ./parser//parser.nit:4496 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4496);
+ }
+ /* ./parser//parser.nit:4498 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4498);
+ }
+ /* ./parser//parser.nit:4500 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4500);
+ }
+ /* ./parser//parser.nit:4502 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4502);
+ }
+ /* ./parser//parser.nit:4504 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4504);
+ }
+ /* ./parser//parser.nit:4505 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4517 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4518 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction101____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4518);
+ }
+ REGB0 = ATTR_parser___ReduceAction101____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction101___init(val_t p0, val_t p1, int* init_table){
+ int itpos104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction101].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4521;
+ fra.me.meth = LOCATE_parser___ReduceAction101___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4521 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction101____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos104] = 1;
+ return;
+}
+void parser___ReduceAction102___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 = 4525;
+ fra.me.meth = LOCATE_parser___ReduceAction102___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;
+ /* ./parser//parser.nit:4527 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4528 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4529 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4530 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4531 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4532 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4533 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4534 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4535 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4536 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4538 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4538);
+ }
+ /* ./parser//parser.nit:4540 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4540);
+ }
+ /* ./parser//parser.nit:4542 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4542);
+ }
+ /* ./parser//parser.nit:4544 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4544);
+ }
+ /* ./parser//parser.nit:4546 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4546);
+ }
+ /* ./parser//parser.nit:4548 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4548);
+ }
+ /* ./parser//parser.nit:4550 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4550);
+ }
+ /* ./parser//parser.nit:4551 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4563 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4564 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction102____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4564);
+ }
+ REGB0 = ATTR_parser___ReduceAction102____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction102___init(val_t p0, val_t p1, int* init_table){
+ int itpos105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction102].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4567;
+ fra.me.meth = LOCATE_parser___ReduceAction102___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4567 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction102____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos105] = 1;
+ return;
+}
+void parser___ReduceAction103___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 = 4571;
+ fra.me.meth = LOCATE_parser___ReduceAction103___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;
+ /* ./parser//parser.nit:4573 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4574 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4575 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4576 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4577 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4578 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4579 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4580 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4581 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4582 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4584 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4584);
+ }
+ /* ./parser//parser.nit:4586 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4586);
+ }
+ /* ./parser//parser.nit:4588 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4588);
+ }
+ /* ./parser//parser.nit:4590 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4590);
+ }
+ /* ./parser//parser.nit:4592 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4592);
+ }
+ /* ./parser//parser.nit:4594 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4594);
+ }
+ /* ./parser//parser.nit:4596 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4596);
+ }
+ /* ./parser//parser.nit:4597 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4609 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4610 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction103____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4610);
+ }
+ REGB0 = ATTR_parser___ReduceAction103____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction103___init(val_t p0, val_t p1, int* init_table){
+ int itpos106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction103].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4613;
+ fra.me.meth = LOCATE_parser___ReduceAction103___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4613 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction103____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos106] = 1;
+ return;
+}
+void parser___ReduceAction104___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 = 4617;
+ fra.me.meth = LOCATE_parser___ReduceAction104___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;
+ /* ./parser//parser.nit:4619 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4620 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4621 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4622 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4623 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4624 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4625 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4626 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4627 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4628 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4629 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4631 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4631);
+ }
+ /* ./parser//parser.nit:4633 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4633);
+ }
+ /* ./parser//parser.nit:4635 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4635);
+ }
+ /* ./parser//parser.nit:4637 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4637);
+ }
+ /* ./parser//parser.nit:4639 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4639);
+ }
+ /* ./parser//parser.nit:4641 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4641);
+ }
+ /* ./parser//parser.nit:4643 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4643);
+ }
+ /* ./parser//parser.nit:4645 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4645);
+ }
+ /* ./parser//parser.nit:4646 */
+ fra.me.REG[3] = 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], NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:4658 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4659 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction104____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4659);
+ }
+ REGB0 = ATTR_parser___ReduceAction104____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction104___init(val_t p0, val_t p1, int* init_table){
+ int itpos107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction104].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4662;
+ fra.me.meth = LOCATE_parser___ReduceAction104___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4662 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction104____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos107] = 1;
+ return;
+}
+void parser___ReduceAction105___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 4666;
+ fra.me.meth = LOCATE_parser___ReduceAction105___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:4668 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4669 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4670 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4671 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4672 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4673 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4674 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4675 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4676 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4678 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4678);
+ }
+ /* ./parser//parser.nit:4680 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4680);
+ }
+ /* ./parser//parser.nit:4682 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4682);
+ }
+ /* ./parser//parser.nit:4684 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4684);
+ }
+ /* ./parser//parser.nit:4686 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4686);
+ }
+ /* ./parser//parser.nit:4688 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4688);
+ }
+ /* ./parser//parser.nit:4689 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4701 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4702 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction105____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4702);
+ }
+ REGB0 = ATTR_parser___ReduceAction105____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction105___init(val_t p0, val_t p1, int* init_table){
+ int itpos108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction105].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4705;
+ fra.me.meth = LOCATE_parser___ReduceAction105___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4705 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction105____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos108] = 1;
+ return;
+}
+void parser___ReduceAction106___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 = 4709;
+ fra.me.meth = LOCATE_parser___ReduceAction106___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;
+ /* ./parser//parser.nit:4711 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4712 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4713 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4714 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4715 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4716 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4717 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4718 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4719 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4720 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4722 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4722);
+ }
+ /* ./parser//parser.nit:4724 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4724);
+ }
+ /* ./parser//parser.nit:4726 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4726);
+ }
+ /* ./parser//parser.nit:4728 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4728);
+ }
+ /* ./parser//parser.nit:4730 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4730);
+ }
+ /* ./parser//parser.nit:4732 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4732);
+ }
+ /* ./parser//parser.nit:4734 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4734);
+ }
+ /* ./parser//parser.nit:4735 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4747 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4748 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction106____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4748);
+ }
+ REGB0 = ATTR_parser___ReduceAction106____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction106___init(val_t p0, val_t p1, int* init_table){
+ int itpos109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction106].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4751;
+ fra.me.meth = LOCATE_parser___ReduceAction106___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4751 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction106____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos109] = 1;
+ return;
+}
+void parser___ReduceAction107___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 = 4755;
+ fra.me.meth = LOCATE_parser___ReduceAction107___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;
+ /* ./parser//parser.nit:4757 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4758 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4759 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4760 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4761 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4762 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4763 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4764 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4765 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4766 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4768 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4768);
+ }
+ /* ./parser//parser.nit:4770 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4770);
+ }
+ /* ./parser//parser.nit:4772 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4772);
+ }
+ /* ./parser//parser.nit:4774 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4774);
+ }
+ /* ./parser//parser.nit:4776 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4776);
+ }
+ /* ./parser//parser.nit:4778 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4778);
+ }
+ /* ./parser//parser.nit:4780 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4780);
+ }
+ /* ./parser//parser.nit:4781 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4793 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4794 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction107____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4794);
+ }
+ REGB0 = ATTR_parser___ReduceAction107____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction107___init(val_t p0, val_t p1, int* init_table){
+ int itpos110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction107].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4797;
+ fra.me.meth = LOCATE_parser___ReduceAction107___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4797 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction107____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos110] = 1;
+ return;
+}
+void parser___ReduceAction108___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 = 4801;
+ fra.me.meth = LOCATE_parser___ReduceAction108___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;
+ /* ./parser//parser.nit:4803 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4804 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4805 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4806 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4807 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4808 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4809 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4810 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4811 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4812 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4813 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4815 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4815);
+ }
+ /* ./parser//parser.nit:4817 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4817);
+ }
+ /* ./parser//parser.nit:4819 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4819);
+ }
+ /* ./parser//parser.nit:4821 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4821);
+ }
+ /* ./parser//parser.nit:4823 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4823);
+ }
+ /* ./parser//parser.nit:4825 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4825);
+ }
+ /* ./parser//parser.nit:4827 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4827);
+ }
+ /* ./parser//parser.nit:4829 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4829);
+ }
+ /* ./parser//parser.nit:4830 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4842 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4843 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction108____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4843);
+ }
+ REGB0 = ATTR_parser___ReduceAction108____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction108___init(val_t p0, val_t p1, int* init_table){
+ int itpos111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction108].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4846;
+ fra.me.meth = LOCATE_parser___ReduceAction108___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4846 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction108____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos111] = 1;
+ return;
+}
+void parser___ReduceAction109___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 = 4850;
+ fra.me.meth = LOCATE_parser___ReduceAction109___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;
+ /* ./parser//parser.nit:4852 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4853 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4854 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4855 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4856 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4857 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4858 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4859 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4860 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4861 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4863 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4863);
+ }
+ /* ./parser//parser.nit:4865 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4865);
+ }
+ /* ./parser//parser.nit:4867 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4867);
+ }
+ /* ./parser//parser.nit:4869 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4869);
+ }
+ /* ./parser//parser.nit:4871 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4871);
+ }
+ /* ./parser//parser.nit:4873 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4873);
+ }
+ /* ./parser//parser.nit:4875 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4875);
+ }
+ /* ./parser//parser.nit:4876 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4888 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4889 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction109____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4889);
+ }
+ REGB0 = ATTR_parser___ReduceAction109____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction109___init(val_t p0, val_t p1, int* init_table){
+ int itpos112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction109].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4892;
+ fra.me.meth = LOCATE_parser___ReduceAction109___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4892 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction109____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos112] = 1;
+ return;
+}
+void parser___ReduceAction110___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 = 4896;
+ fra.me.meth = LOCATE_parser___ReduceAction110___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;
+ /* ./parser//parser.nit:4898 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4899 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4900 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4901 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4902 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4903 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4904 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4905 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4906 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4907 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4908 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4910 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4910);
+ }
+ /* ./parser//parser.nit:4912 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4912);
+ }
+ /* ./parser//parser.nit:4914 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4914);
+ }
+ /* ./parser//parser.nit:4916 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4916);
+ }
+ /* ./parser//parser.nit:4918 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4918);
+ }
+ /* ./parser//parser.nit:4920 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4920);
+ }
+ /* ./parser//parser.nit:4922 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4922);
+ }
+ /* ./parser//parser.nit:4924 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4924);
+ }
+ /* ./parser//parser.nit:4925 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4937 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4938 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction110____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4938);
+ }
+ REGB0 = ATTR_parser___ReduceAction110____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction110___init(val_t p0, val_t p1, int* init_table){
+ int itpos113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction110].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4941;
+ fra.me.meth = LOCATE_parser___ReduceAction110___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4941 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction110____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos113] = 1;
+ return;
+}
+void parser___ReduceAction111___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 = 4945;
+ fra.me.meth = LOCATE_parser___ReduceAction111___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;
+ /* ./parser//parser.nit:4947 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4948 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4949 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4950 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4951 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4952 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4953 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4954 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4955 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4956 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4957 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4959 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4959);
+ }
+ /* ./parser//parser.nit:4961 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4961);
+ }
+ /* ./parser//parser.nit:4963 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4963);
+ }
+ /* ./parser//parser.nit:4965 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4965);
+ }
+ /* ./parser//parser.nit:4967 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4967);
+ }
+ /* ./parser//parser.nit:4969 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4969);
+ }
+ /* ./parser//parser.nit:4971 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4971);
+ }
+ /* ./parser//parser.nit:4973 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 4973);
+ }
+ /* ./parser//parser.nit:4974 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:4986 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:4987 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction111____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4987);
+ }
+ REGB0 = ATTR_parser___ReduceAction111____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction111___init(val_t p0, val_t p1, int* init_table){
+ int itpos114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction111].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 4990;
+ fra.me.meth = LOCATE_parser___ReduceAction111___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:4990 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction111____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos114] = 1;
+ return;
+}
+void parser___ReduceAction112___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 = 4994;
+ fra.me.meth = LOCATE_parser___ReduceAction112___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;
+ /* ./parser//parser.nit:4996 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:4997 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4998 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:4999 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5000 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5001 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5002 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5003 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5004 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5005 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5006 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5007 */
+ fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5009 */
+ REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5009);
+ }
+ /* ./parser//parser.nit:5011 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5011);
+ }
+ /* ./parser//parser.nit:5013 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5013);
+ }
+ /* ./parser//parser.nit:5015 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5015);
+ }
+ /* ./parser//parser.nit:5017 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5017);
+ }
+ /* ./parser//parser.nit:5019 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5019);
+ }
+ /* ./parser//parser.nit:5021 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5021);
+ }
+ /* ./parser//parser.nit:5023 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5023);
+ }
+ /* ./parser//parser.nit:5025 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5025);
+ }
+ /* ./parser//parser.nit:5026 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5038 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5039 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction112____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5039);
+ }
+ REGB0 = ATTR_parser___ReduceAction112____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction112___init(val_t p0, val_t p1, int* init_table){
+ int itpos115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction112].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5042;
+ fra.me.meth = LOCATE_parser___ReduceAction112___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5042 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction112____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos115] = 1;
+ return;
+}
+void parser___ReduceAction113___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 = 5046;
+ fra.me.meth = LOCATE_parser___ReduceAction113___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;
+ /* ./parser//parser.nit:5048 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5049 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5050 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5051 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5052 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5054 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5054);
+ }
+ /* ./parser//parser.nit:5056 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5056);
+ }
+ /* ./parser//parser.nit:5058 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5058);
+ }
+ /* ./parser//parser.nit:5060 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5060);
+ }
+ /* ./parser//parser.nit:5061 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:5073 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5074 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction113____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5074);
+ }
+ REGB0 = ATTR_parser___ReduceAction113____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction113___init(val_t p0, val_t p1, int* init_table){
+ int itpos116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction113].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5077;
+ fra.me.meth = LOCATE_parser___ReduceAction113___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5077 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction113____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos116] = 1;
+ return;
+}
+void parser___ReduceAction114___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5081;
+ fra.me.meth = LOCATE_parser___ReduceAction114___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5083 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5084 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5085 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5086 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5087 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5088 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5090 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5090);
+ }
+ /* ./parser//parser.nit:5092 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5092);
+ }
+ /* ./parser//parser.nit:5094 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5094);
+ }
+ /* ./parser//parser.nit:5096 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5096);
+ }
+ /* ./parser//parser.nit:5098 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5098);
+ }
+ /* ./parser//parser.nit:5099 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:5111 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5112 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction114____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5112);
+ }
+ REGB0 = ATTR_parser___ReduceAction114____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction114___init(val_t p0, val_t p1, int* init_table){
+ int itpos117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction114].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5115;
+ fra.me.meth = LOCATE_parser___ReduceAction114___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5115 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction114____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos117] = 1;
+ return;
+}
+void parser___ReduceAction115___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5119;
+ fra.me.meth = LOCATE_parser___ReduceAction115___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5121 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5122 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5123 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5124 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5125 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5126 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5128 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5128);
+ }
+ /* ./parser//parser.nit:5130 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5130);
+ }
+ /* ./parser//parser.nit:5132 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5132);
+ }
+ /* ./parser//parser.nit:5134 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5134);
+ }
+ /* ./parser//parser.nit:5136 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5136);
+ }
+ /* ./parser//parser.nit:5137 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:5149 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5150 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction115____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5150);
+ }
+ REGB0 = ATTR_parser___ReduceAction115____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction115___init(val_t p0, val_t p1, int* init_table){
+ int itpos118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction115].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5153;
+ fra.me.meth = LOCATE_parser___ReduceAction115___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5153 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction115____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos118] = 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 = 5157;
+ 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;
+ /* ./parser//parser.nit:5159 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5160 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5161 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5162 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5163 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5164 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5165 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5167 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5167);
+ }
+ /* ./parser//parser.nit:5169 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5169);
+ }
+ /* ./parser//parser.nit:5171 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5171);
+ }
+ /* ./parser//parser.nit:5173 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5173);
+ }
+ /* ./parser//parser.nit:5175 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5175);
+ }
+ /* ./parser//parser.nit:5177 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5177);
+ }
+ /* ./parser//parser.nit:5178 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
+ /* ./parser//parser.nit:5190 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5191 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction116____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5191);
+ }
+ REGB0 = ATTR_parser___ReduceAction116____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction116___init(val_t p0, val_t p1, int* init_table){
+ int itpos119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction116].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5194;
+ fra.me.meth = LOCATE_parser___ReduceAction116___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5194 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction116____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos119] = 1;
+ return;
+}
+void parser___ReduceAction117___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5198;
+ fra.me.meth = LOCATE_parser___ReduceAction117___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5200 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5201 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5202 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5203 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5204 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5205 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5207 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5207);
+ }
+ /* ./parser//parser.nit:5209 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5209);
+ }
+ /* ./parser//parser.nit:5211 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5211);
+ }
+ /* ./parser//parser.nit:5213 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5213);
+ }
+ /* ./parser//parser.nit:5215 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5215);
+ }
+ /* ./parser//parser.nit:5216 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:5228 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:5229 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction117____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5229);
+ }
+ REGB0 = ATTR_parser___ReduceAction117____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction117___init(val_t p0, val_t p1, int* init_table){
+ int itpos120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction117].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5232;
+ fra.me.meth = LOCATE_parser___ReduceAction117___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5232 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction117____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos120] = 1;
+ return;
+}
+void parser___ReduceAction118___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5236;
+ fra.me.meth = LOCATE_parser___ReduceAction118___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5238 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5239 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5240 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5241 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5242 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5243 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5244 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5246 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5246);
+ }
+ /* ./parser//parser.nit:5248 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5248);
+ }
+ /* ./parser//parser.nit:5250 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5250);
+ }
+ /* ./parser//parser.nit:5252 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5252);
+ }
+ /* ./parser//parser.nit:5254 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5254);
+ }
+ /* ./parser//parser.nit:5256 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5256);
+ }
+ /* ./parser//parser.nit:5257 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
+ /* ./parser//parser.nit:5269 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:5270 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction118____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5270);
+ }
+ REGB0 = ATTR_parser___ReduceAction118____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction118___init(val_t p0, val_t p1, int* init_table){
+ int itpos121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction118].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5273;
+ fra.me.meth = LOCATE_parser___ReduceAction118___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5273 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction118____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos121] = 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 = 5277;
+ 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;
+ /* ./parser//parser.nit:5279 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5280 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5281 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5282 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5283 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5284 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5285 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5287 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5287);
+ }
+ /* ./parser//parser.nit:5289 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5289);
+ }
+ /* ./parser//parser.nit:5291 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5291);
+ }
+ /* ./parser//parser.nit:5293 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5293);
+ }
+ /* ./parser//parser.nit:5295 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5295);
+ }
+ /* ./parser//parser.nit:5297 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5297);
+ }
+ /* ./parser//parser.nit:5298 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
+ /* ./parser//parser.nit:5310 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:5311 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction119____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5311);
+ }
+ REGB0 = ATTR_parser___ReduceAction119____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction119___init(val_t p0, val_t p1, int* init_table){
+ int itpos122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction119].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5314;
+ fra.me.meth = LOCATE_parser___ReduceAction119___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5314 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction119____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos122] = 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 = 5318;
+ 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;
+ /* ./parser//parser.nit:5320 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5321 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5322 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5323 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5324 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5325 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5326 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5327 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5329 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5329);
+ }
+ /* ./parser//parser.nit:5331 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5331);
+ }
+ /* ./parser//parser.nit:5333 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5333);
+ }
+ /* ./parser//parser.nit:5335 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5335);
+ }
+ /* ./parser//parser.nit:5337 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5337);
+ }
+ /* ./parser//parser.nit:5339 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5339);
+ }
+ /* ./parser//parser.nit:5341 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5341);
+ }
+ /* ./parser//parser.nit:5342 */
+ fra.me.REG[4] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[3], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
+ /* ./parser//parser.nit:5354 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:5355 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction120____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5355);
+ }
+ REGB0 = ATTR_parser___ReduceAction120____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction120___init(val_t p0, val_t p1, int* init_table){
+ int itpos123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction120].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5358;
+ fra.me.meth = LOCATE_parser___ReduceAction120___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5358 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction120____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos123] = 1;
+ return;
+}
+void parser___ReduceAction121___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5362;
+ fra.me.meth = LOCATE_parser___ReduceAction121___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5364 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5365 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5366 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5367 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5368 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5369 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5370 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5371 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5373 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5373);
+ }
+ /* ./parser//parser.nit:5375 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5375);
+ }
+ /* ./parser//parser.nit:5377 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5377);
+ }
+ /* ./parser//parser.nit:5379 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5379);
+ }
+ /* ./parser//parser.nit:5381 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5381);
+ }
+ /* ./parser//parser.nit:5382 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:5394 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5395 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction121____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5395);
+ }
+ REGB0 = ATTR_parser___ReduceAction121____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction121___init(val_t p0, val_t p1, int* init_table){
+ int itpos124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction121].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5398;
+ fra.me.meth = LOCATE_parser___ReduceAction121___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5398 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction121____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos124] = 1;
+ return;
+}
+void parser___ReduceAction122___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5402;
+ fra.me.meth = LOCATE_parser___ReduceAction122___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5404 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5405 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5406 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5407 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5408 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5409 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5410 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5411 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5412 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5414 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5414);
+ }
+ /* ./parser//parser.nit:5416 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5416);
+ }
+ /* ./parser//parser.nit:5418 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5418);
+ }
+ /* ./parser//parser.nit:5420 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5420);
+ }
+ /* ./parser//parser.nit:5422 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5422);
+ }
+ /* ./parser//parser.nit:5424 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5424);
+ }
+ /* ./parser//parser.nit:5425 */
+ fra.me.REG[3] = 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], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:5437 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5438 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction122____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5438);
+ }
+ REGB0 = ATTR_parser___ReduceAction122____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction122___init(val_t p0, val_t p1, int* init_table){
+ int itpos125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction122].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5441;
+ fra.me.meth = LOCATE_parser___ReduceAction122___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5441 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction122____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos125] = 1;
+ return;
+}
+void parser___ReduceAction123___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5445;
+ fra.me.meth = LOCATE_parser___ReduceAction123___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5447 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5448 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5449 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5450 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5451 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5452 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5453 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5454 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5455 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5457 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5457);
+ }
+ /* ./parser//parser.nit:5459 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5459);
+ }
+ /* ./parser//parser.nit:5461 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5461);
+ }
+ /* ./parser//parser.nit:5463 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5463);
+ }
+ /* ./parser//parser.nit:5465 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5465);
+ }
+ /* ./parser//parser.nit:5467 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5467);
+ }
+ /* ./parser//parser.nit:5468 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5480 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5481 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction123____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5481);
+ }
+ REGB0 = ATTR_parser___ReduceAction123____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction123___init(val_t p0, val_t p1, int* init_table){
+ int itpos126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction123].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5484;
+ fra.me.meth = LOCATE_parser___ReduceAction123___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5484 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction123____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos126] = 1;
+ return;
+}
+void parser___ReduceAction124___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 = 5488;
+ fra.me.meth = LOCATE_parser___ReduceAction124___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;
+ /* ./parser//parser.nit:5490 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5491 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5492 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5493 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5494 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5495 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5496 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5497 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5498 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5499 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5501 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5501);
+ }
+ /* ./parser//parser.nit:5503 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5503);
+ }
+ /* ./parser//parser.nit:5505 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5505);
+ }
+ /* ./parser//parser.nit:5507 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5507);
+ }
+ /* ./parser//parser.nit:5509 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5509);
+ }
+ /* ./parser//parser.nit:5511 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5511);
+ }
+ /* ./parser//parser.nit:5513 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5513);
+ }
+ /* ./parser//parser.nit:5514 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5526 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5527 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction124____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5527);
+ }
+ REGB0 = ATTR_parser___ReduceAction124____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction124___init(val_t p0, val_t p1, int* init_table){
+ int itpos127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction124].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5530;
+ fra.me.meth = LOCATE_parser___ReduceAction124___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5530 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction124____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos127] = 1;
+ return;
+}
+void parser___ReduceAction125___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5534;
+ fra.me.meth = LOCATE_parser___ReduceAction125___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5536 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5537 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5538 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5539 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5540 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5541 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5542 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5543 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5544 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5546 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5546);
+ }
+ /* ./parser//parser.nit:5548 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5548);
+ }
+ /* ./parser//parser.nit:5550 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5550);
+ }
+ /* ./parser//parser.nit:5552 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5552);
+ }
+ /* ./parser//parser.nit:5554 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5554);
+ }
+ /* ./parser//parser.nit:5556 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5556);
+ }
+ /* ./parser//parser.nit:5557 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:5569 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5570 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction125____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5570);
+ }
+ REGB0 = ATTR_parser___ReduceAction125____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction125___init(val_t p0, val_t p1, int* init_table){
+ int itpos128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction125].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5573;
+ fra.me.meth = LOCATE_parser___ReduceAction125___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5573 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction125____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos128] = 1;
+ return;
+}
+void parser___ReduceAction126___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 = 5577;
+ fra.me.meth = LOCATE_parser___ReduceAction126___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;
+ /* ./parser//parser.nit:5579 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5580 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5581 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5582 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5583 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5584 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5585 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5586 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5587 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5588 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5590 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5590);
+ }
+ /* ./parser//parser.nit:5592 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5592);
+ }
+ /* ./parser//parser.nit:5594 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5594);
+ }
+ /* ./parser//parser.nit:5596 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5596);
+ }
+ /* ./parser//parser.nit:5598 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5598);
+ }
+ /* ./parser//parser.nit:5600 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5600);
+ }
+ /* ./parser//parser.nit:5602 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5602);
+ }
+ /* ./parser//parser.nit:5603 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:5615 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5616 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction126____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5616);
+ }
+ REGB0 = ATTR_parser___ReduceAction126____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction126___init(val_t p0, val_t p1, int* init_table){
+ int itpos129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction126].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5619;
+ fra.me.meth = LOCATE_parser___ReduceAction126___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5619 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction126____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos129] = 1;
+ return;
+}
+void parser___ReduceAction127___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 = 5623;
+ fra.me.meth = LOCATE_parser___ReduceAction127___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;
+ /* ./parser//parser.nit:5625 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5626 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5627 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5628 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5629 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5630 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5631 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5632 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5633 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5634 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5636 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5636);
+ }
+ /* ./parser//parser.nit:5638 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5638);
+ }
+ /* ./parser//parser.nit:5640 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5640);
+ }
+ /* ./parser//parser.nit:5642 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5642);
+ }
+ /* ./parser//parser.nit:5644 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5644);
+ }
+ /* ./parser//parser.nit:5646 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5646);
+ }
+ /* ./parser//parser.nit:5648 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5648);
+ }
+ /* ./parser//parser.nit:5649 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3]);
+ /* ./parser//parser.nit:5661 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5662 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction127____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5662);
+ }
+ REGB0 = ATTR_parser___ReduceAction127____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction127___init(val_t p0, val_t p1, int* init_table){
+ int itpos130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction127].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5665;
+ fra.me.meth = LOCATE_parser___ReduceAction127___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5665 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction127____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos130] = 1;
+ return;
+}
+void parser___ReduceAction128___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 = 5669;
+ fra.me.meth = LOCATE_parser___ReduceAction128___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;
+ /* ./parser//parser.nit:5671 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5672 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5673 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5674 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5675 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5676 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5677 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5678 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5679 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5680 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5681 */
+ fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5683 */
+ REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5683);
+ }
+ /* ./parser//parser.nit:5685 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AAble, ID_AAble)) /*cast nullable AAble*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5685);
+ }
+ /* ./parser//parser.nit:5687 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5687);
+ }
+ /* ./parser//parser.nit:5689 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5689);
+ }
+ /* ./parser//parser.nit:5691 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5691);
+ }
+ /* ./parser//parser.nit:5693 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5693);
+ }
+ /* ./parser//parser.nit:5695 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5695);
+ }
+ /* ./parser//parser.nit:5697 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5697);
+ }
+ /* ./parser//parser.nit:5698 */
+ fra.me.REG[3] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[4], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3]);
+ /* ./parser//parser.nit:5710 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5711 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction128____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5711);
+ }
+ REGB0 = ATTR_parser___ReduceAction128____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction128___init(val_t p0, val_t p1, int* init_table){
+ int itpos131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction128].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5714;
+ fra.me.meth = LOCATE_parser___ReduceAction128___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5714 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction128____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos131] = 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 = 5718;
+ 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;
+ /* ./parser//parser.nit:5720 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5721 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5722 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5723 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5724 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5725 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5726 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5728 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5728);
+ }
+ /* ./parser//parser.nit:5730 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5730);
+ }
+ /* ./parser//parser.nit:5732 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5732);
+ }
+ /* ./parser//parser.nit:5734 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5734);
+ }
+ /* ./parser//parser.nit:5736 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5736);
+ }
+ /* ./parser//parser.nit:5737 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5746 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5747 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction129____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5747);
+ }
+ REGB0 = ATTR_parser___ReduceAction129____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction129___init(val_t p0, val_t p1, int* init_table){
+ int itpos132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction129].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5750;
+ fra.me.meth = LOCATE_parser___ReduceAction129___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5750 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction129____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos132] = 1;
+ return;
+}
+void parser___ReduceAction130___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5754;
+ fra.me.meth = LOCATE_parser___ReduceAction130___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5756 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5757 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5758 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5759 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5760 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5761 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5762 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5763 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5765 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5765);
+ }
+ /* ./parser//parser.nit:5767 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5767);
+ }
+ /* ./parser//parser.nit:5769 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5769);
+ }
+ /* ./parser//parser.nit:5771 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5771);
+ }
+ /* ./parser//parser.nit:5773 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5773);
+ }
+ /* ./parser//parser.nit:5775 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5775);
+ }
+ /* ./parser//parser.nit:5776 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5785 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5786 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction130____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5786);
+ }
+ REGB0 = ATTR_parser___ReduceAction130____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction130___init(val_t p0, val_t p1, int* init_table){
+ int itpos133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction130].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5789;
+ fra.me.meth = LOCATE_parser___ReduceAction130___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5789 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction130____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos133] = 1;
+ return;
+}
+void parser___ReduceAction131___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5793;
+ fra.me.meth = LOCATE_parser___ReduceAction131___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5795 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5796 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5797 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5798 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5799 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5800 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5801 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5802 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5804 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5804);
+ }
+ /* ./parser//parser.nit:5806 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5806);
+ }
+ /* ./parser//parser.nit:5808 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5808);
+ }
+ /* ./parser//parser.nit:5810 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5810);
+ }
+ /* ./parser//parser.nit:5812 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5812);
+ }
+ /* ./parser//parser.nit:5814 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5814);
+ }
+ /* ./parser//parser.nit:5815 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5824 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5825 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction131____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5825);
+ }
+ REGB0 = ATTR_parser___ReduceAction131____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction131___init(val_t p0, val_t p1, int* init_table){
+ int itpos134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction131].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5828;
+ fra.me.meth = LOCATE_parser___ReduceAction131___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5828 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction131____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos134] = 1;
+ return;
+}
+void parser___ReduceAction132___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5832;
+ fra.me.meth = LOCATE_parser___ReduceAction132___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;
+ /* ./parser//parser.nit:5834 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5835 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5836 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5837 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5838 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5839 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5840 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5841 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5842 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5844 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5844);
+ }
+ /* ./parser//parser.nit:5846 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5846);
+ }
+ /* ./parser//parser.nit:5848 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5848);
+ }
+ /* ./parser//parser.nit:5850 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5850);
+ }
+ /* ./parser//parser.nit:5852 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5852);
+ }
+ /* ./parser//parser.nit:5854 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5854);
+ }
+ /* ./parser//parser.nit:5856 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5856);
+ }
+ /* ./parser//parser.nit:5857 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5866 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5867 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction132____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5867);
+ }
+ REGB0 = ATTR_parser___ReduceAction132____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction132___init(val_t p0, val_t p1, int* init_table){
+ int itpos135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction132].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5870;
+ fra.me.meth = LOCATE_parser___ReduceAction132___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5870 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction132____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos135] = 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 = 5874;
+ 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;
+ /* ./parser//parser.nit:5876 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5877 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5878 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5879 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5880 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5881 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5882 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5883 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5885 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5885);
+ }
+ /* ./parser//parser.nit:5887 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5887);
+ }
+ /* ./parser//parser.nit:5889 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5889);
+ }
+ /* ./parser//parser.nit:5891 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5891);
+ }
+ /* ./parser//parser.nit:5893 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5893);
+ }
+ /* ./parser//parser.nit:5894 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5903 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5904 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction133____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5904);
+ }
+ REGB0 = ATTR_parser___ReduceAction133____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction133___init(val_t p0, val_t p1, int* init_table){
+ int itpos136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction133].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5907;
+ fra.me.meth = LOCATE_parser___ReduceAction133___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5907 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction133____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos136] = 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 = 5911;
+ 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;
+ /* ./parser//parser.nit:5913 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5914 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5915 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5916 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5917 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5918 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5919 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5920 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5921 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5923 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5923);
+ }
+ /* ./parser//parser.nit:5925 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5925);
+ }
+ /* ./parser//parser.nit:5927 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5927);
+ }
+ /* ./parser//parser.nit:5929 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5929);
+ }
+ /* ./parser//parser.nit:5931 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5931);
+ }
+ /* ./parser//parser.nit:5933 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5933);
+ }
+ /* ./parser//parser.nit:5934 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5943 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5944 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction134____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5944);
+ }
+ REGB0 = ATTR_parser___ReduceAction134____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction134___init(val_t p0, val_t p1, int* init_table){
+ int itpos137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction134].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5947;
+ fra.me.meth = LOCATE_parser___ReduceAction134___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5947 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction134____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos137] = 1;
+ return;
+}
+void parser___ReduceAction135___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5951;
+ fra.me.meth = LOCATE_parser___ReduceAction135___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 9;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[8] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:5953 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5954 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5955 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5956 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5957 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5958 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5959 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5960 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5961 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5963 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5963);
+ }
+ /* ./parser//parser.nit:5965 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5965);
+ }
+ /* ./parser//parser.nit:5967 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5967);
+ }
+ /* ./parser//parser.nit:5969 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5969);
+ }
+ /* ./parser//parser.nit:5971 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5971);
+ }
+ /* ./parser//parser.nit:5973 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 5973);
+ }
+ /* ./parser//parser.nit:5974 */
+ fra.me.REG[3] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:5983 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:5984 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction135____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5984);
+ }
+ REGB0 = ATTR_parser___ReduceAction135____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction135___init(val_t p0, val_t p1, int* init_table){
+ int itpos138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction135].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 5987;
+ fra.me.meth = LOCATE_parser___ReduceAction135___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:5987 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction135____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos138] = 1;
+ return;
+}
+void parser___ReduceAction136___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 5991;
+ fra.me.meth = LOCATE_parser___ReduceAction136___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;
+ /* ./parser//parser.nit:5993 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:5994 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5995 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5996 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5997 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5998 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:5999 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6000 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6001 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6002 */
+ fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6004 */
+ REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6004);
+ }
+ /* ./parser//parser.nit:6006 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6006);
+ }
+ /* ./parser//parser.nit:6008 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6008);
+ }
+ /* ./parser//parser.nit:6010 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6010);
+ }
+ /* ./parser//parser.nit:6012 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AMethid, ID_AMethid)) /*cast nullable AMethid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6012);
+ }
+ /* ./parser//parser.nit:6014 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6014);
+ }
+ /* ./parser//parser.nit:6016 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6016);
+ }
+ /* ./parser//parser.nit:6017 */
+ fra.me.REG[3] = 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[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6026 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6027 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction136____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6027);
+ }
+ REGB0 = ATTR_parser___ReduceAction136____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction136___init(val_t p0, val_t p1, int* init_table){
+ int itpos139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction136].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6030;
+ fra.me.meth = LOCATE_parser___ReduceAction136___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6030 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction136____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos139] = 1;
+ return;
+}
+void parser___ReduceAction137___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6034;
+ fra.me.meth = LOCATE_parser___ReduceAction137___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:6036 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6037 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6038 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6039 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6040 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6041 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6043 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6043);
+ }
+ /* ./parser//parser.nit:6045 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6045);
+ }
+ /* ./parser//parser.nit:6047 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6047);
+ }
+ /* ./parser//parser.nit:6049 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6049);
+ }
+ /* ./parser//parser.nit:6051 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6051);
+ }
+ /* ./parser//parser.nit:6052 */
+ fra.me.REG[3] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6060 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6061 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction137____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6061);
+ }
+ REGB0 = ATTR_parser___ReduceAction137____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction137___init(val_t p0, val_t p1, int* init_table){
+ int itpos140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction137].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6064;
+ fra.me.meth = LOCATE_parser___ReduceAction137___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6064 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction137____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos140] = 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 = 6068;
+ 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;
+ /* ./parser//parser.nit:6070 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6071 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6072 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6073 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6074 */
+ fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6075 */
+ fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6076 */
+ fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6078 */
+ REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6078);
+ }
+ /* ./parser//parser.nit:6080 */
+ REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6080);
+ }
+ /* ./parser//parser.nit:6082 */
+ REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6082);
+ }
+ /* ./parser//parser.nit:6084 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6084);
+ }
+ /* ./parser//parser.nit:6086 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6086);
+ }
+ /* ./parser//parser.nit:6088 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6088);
+ }
+ /* ./parser//parser.nit:6089 */
+ fra.me.REG[3] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6097 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6098 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction138____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6098);
+ }
+ REGB0 = ATTR_parser___ReduceAction138____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction138___init(val_t p0, val_t p1, int* init_table){
+ int itpos141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction138].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6101;
+ fra.me.meth = LOCATE_parser___ReduceAction138___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6101 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction138____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos141] = 1;
+ return;
+}
+void parser___ReduceAction139___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 = 6105;
+ fra.me.meth = LOCATE_parser___ReduceAction139___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;
+ /* ./parser//parser.nit:6107 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6108 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6110 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6110);
+ }
+ /* ./parser//parser.nit:6111 */
+ fra.me.REG[3] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:6115 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6116 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction139____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6116);
+ }
+ REGB0 = ATTR_parser___ReduceAction139____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction139___init(val_t p0, val_t p1, int* init_table){
+ int itpos142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction139].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6119;
+ fra.me.meth = LOCATE_parser___ReduceAction139___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6119 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction139____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos142] = 1;
+ return;
+}
+void parser___ReduceAction140___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 = 6123;
+ fra.me.meth = LOCATE_parser___ReduceAction140___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;
+ /* ./parser//parser.nit:6125 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6126 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6127 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6129 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6129);
+ }
+ /* ./parser//parser.nit:6131 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6131);
+ }
+ /* ./parser//parser.nit:6132 */
+ fra.me.REG[3] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6136 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6137 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction140____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6137);
+ }
+ REGB0 = ATTR_parser___ReduceAction140____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction140___init(val_t p0, val_t p1, int* init_table){
+ int itpos143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction140].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6140;
+ fra.me.meth = LOCATE_parser___ReduceAction140___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6140 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction140____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos143] = 1;
+ return;
+}
+void parser___ReduceAction141___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 = 6144;
+ fra.me.meth = LOCATE_parser___ReduceAction141___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;
+ /* ./parser//parser.nit:6146 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6147 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6149 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6149);
+ }
+ /* ./parser//parser.nit:6150 */
+ fra.me.REG[3] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:6155 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6156 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction141____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6156);
+ }
+ REGB0 = ATTR_parser___ReduceAction141____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction141___init(val_t p0, val_t p1, int* init_table){
+ int itpos144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction141].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6159;
+ fra.me.meth = LOCATE_parser___ReduceAction141___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6159 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction141____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos144] = 1;
+ return;
+}
+void parser___ReduceAction142___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 = 6163;
+ fra.me.meth = LOCATE_parser___ReduceAction142___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;
+ /* ./parser//parser.nit:6165 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6166 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6167 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6169 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6169);
+ }
+ /* ./parser//parser.nit:6171 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6171);
+ }
+ /* ./parser//parser.nit:6172 */
+ fra.me.REG[3] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
+ /* ./parser//parser.nit:6177 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6178 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction142____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6178);
+ }
+ REGB0 = ATTR_parser___ReduceAction142____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction142___init(val_t p0, val_t p1, int* init_table){
+ int itpos145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction142].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6181;
+ fra.me.meth = LOCATE_parser___ReduceAction142___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6181 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction142____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos145] = 1;
+ return;
+}
+void parser___ReduceAction143___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 = 6185;
+ fra.me.meth = LOCATE_parser___ReduceAction143___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;
+ /* ./parser//parser.nit:6187 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6188 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6189 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6191 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6191);
+ }
+ /* ./parser//parser.nit:6193 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6193);
+ }
+ /* ./parser//parser.nit:6194 */
+ fra.me.REG[3] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6199 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6200 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction143____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6200);
+ }
+ REGB0 = ATTR_parser___ReduceAction143____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction143___init(val_t p0, val_t p1, int* init_table){
+ int itpos146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction143].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6203;
+ fra.me.meth = LOCATE_parser___ReduceAction143___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6203 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction143____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos146] = 1;
+ return;
+}
+void parser___ReduceAction144___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 = 6207;
+ fra.me.meth = LOCATE_parser___ReduceAction144___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;
+ /* ./parser//parser.nit:6209 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6210 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6211 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6212 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6214 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6214);
+ }
+ /* ./parser//parser.nit:6216 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6216);
+ }
+ /* ./parser//parser.nit:6218 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6218);
+ }
+ /* ./parser//parser.nit:6219 */
+ fra.me.REG[3] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6224 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6225 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction144____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6225);
+ }
+ REGB0 = ATTR_parser___ReduceAction144____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction144___init(val_t p0, val_t p1, int* init_table){
+ int itpos147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction144].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6228;
+ fra.me.meth = LOCATE_parser___ReduceAction144___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6228 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction144____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos147] = 1;
+ return;
+}
+void parser___ReduceAction145___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 = 6232;
+ fra.me.meth = LOCATE_parser___ReduceAction145___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;
+ /* ./parser//parser.nit:6234 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6235 */
+ fra.me.REG[3] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility();
+ /* ./parser//parser.nit:6237 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6238 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction145____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6238);
+ }
+ REGB0 = ATTR_parser___ReduceAction145____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction145___init(val_t p0, val_t p1, int* init_table){
+ int itpos148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction145].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6241;
+ fra.me.meth = LOCATE_parser___ReduceAction145___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6241 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction145____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos148] = 1;
+ return;
+}
+void parser___ReduceAction146___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 = 6245;
+ fra.me.meth = LOCATE_parser___ReduceAction146___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;
+ /* ./parser//parser.nit:6247 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6248 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6249 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6251 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwprivate, ID_TKwprivate)) /*cast nullable TKwprivate*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6251);
+ }
+ /* ./parser//parser.nit:6252 */
+ fra.me.REG[3] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
+ /* ./parser//parser.nit:6255 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6256 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction146____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6256);
+ }
+ REGB0 = ATTR_parser___ReduceAction146____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction146___init(val_t p0, val_t p1, int* init_table){
+ int itpos149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction146].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6259;
+ fra.me.meth = LOCATE_parser___ReduceAction146___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6259 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction146____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos149] = 1;
+ return;
+}
+void parser___ReduceAction147___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 = 6263;
+ fra.me.meth = LOCATE_parser___ReduceAction147___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;
+ /* ./parser//parser.nit:6265 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6266 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6267 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6269 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwprotected, ID_TKwprotected)) /*cast nullable TKwprotected*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6269);
+ }
+ /* ./parser//parser.nit:6270 */
+ fra.me.REG[3] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
+ /* ./parser//parser.nit:6273 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6274 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction147____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6274);
+ }
+ REGB0 = ATTR_parser___ReduceAction147____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction147___init(val_t p0, val_t p1, int* init_table){
+ int itpos150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction147].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6277;
+ fra.me.meth = LOCATE_parser___ReduceAction147___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6277 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction147____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos150] = 1;
+ return;
+}
+void parser___ReduceAction148___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 = 6281;
+ fra.me.meth = LOCATE_parser___ReduceAction148___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;
+ /* ./parser//parser.nit:6283 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6284 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6285 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6287 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwintrude, ID_TKwintrude)) /*cast nullable TKwintrude*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6287);
+ }
+ /* ./parser//parser.nit:6288 */
+ fra.me.REG[3] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
+ /* ./parser//parser.nit:6291 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6292 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction148____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6292);
+ }
+ REGB0 = ATTR_parser___ReduceAction148____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction148___init(val_t p0, val_t p1, int* init_table){
+ int itpos151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction148].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6295;
+ fra.me.meth = LOCATE_parser___ReduceAction148___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6295 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction148____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos151] = 1;
+ return;
+}
+void parser___ReduceAction149___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 = 6299;
+ fra.me.meth = LOCATE_parser___ReduceAction149___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;
+ /* ./parser//parser.nit:6301 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6302 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6304 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6304);
+ }
+ /* ./parser//parser.nit:6305 */
+ fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6308 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6309 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction149____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6309);
+ }
+ REGB0 = ATTR_parser___ReduceAction149____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction149___init(val_t p0, val_t p1, int* init_table){
+ int itpos152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction149].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6312;
+ fra.me.meth = LOCATE_parser___ReduceAction149___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6312 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction149____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos152] = 1;
+ return;
+}
+void parser___ReduceAction150___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 = 6316;
+ fra.me.meth = LOCATE_parser___ReduceAction150___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;
+ /* ./parser//parser.nit:6318 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6319 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6321 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6321);
+ }
+ /* ./parser//parser.nit:6322 */
+ fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6325 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6326 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction150____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6326);
+ }
+ REGB0 = ATTR_parser___ReduceAction150____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction150___init(val_t p0, val_t p1, int* init_table){
+ int itpos153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction150].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6329;
+ fra.me.meth = LOCATE_parser___ReduceAction150___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6329 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction150____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos153] = 1;
+ return;
+}
+void parser___ReduceAction151___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 = 6333;
+ fra.me.meth = LOCATE_parser___ReduceAction151___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;
+ /* ./parser//parser.nit:6335 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6336 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6338 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6338);
+ }
+ /* ./parser//parser.nit:6339 */
+ fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6342 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6343 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction151____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6343);
+ }
+ REGB0 = ATTR_parser___ReduceAction151____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction151___init(val_t p0, val_t p1, int* init_table){
+ int itpos154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction151].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6346;
+ fra.me.meth = LOCATE_parser___ReduceAction151___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6346 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction151____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos154] = 1;
+ return;
+}
+void parser___ReduceAction152___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 = 6350;
+ fra.me.meth = LOCATE_parser___ReduceAction152___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;
+ /* ./parser//parser.nit:6352 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6353 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6355 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6355);
+ }
+ /* ./parser//parser.nit:6356 */
+ fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6359 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6360 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction152____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6360);
+ }
+ REGB0 = ATTR_parser___ReduceAction152____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction152___init(val_t p0, val_t p1, int* init_table){
+ int itpos155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction152].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6363;
+ fra.me.meth = LOCATE_parser___ReduceAction152___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6363 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction152____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos155] = 1;
+ return;
+}
+void parser___ReduceAction153___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 = 6367;
+ fra.me.meth = LOCATE_parser___ReduceAction153___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;
+ /* ./parser//parser.nit:6369 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6370 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6372 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6372);
+ }
+ /* ./parser//parser.nit:6373 */
+ fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6376 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6377 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction153____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6377);
+ }
+ REGB0 = ATTR_parser___ReduceAction153____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction153___init(val_t p0, val_t p1, int* init_table){
+ int itpos156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction153].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6380;
+ fra.me.meth = LOCATE_parser___ReduceAction153___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6380 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction153____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos156] = 1;
+ return;
+}
+void parser___ReduceAction154___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 = 6384;
+ fra.me.meth = LOCATE_parser___ReduceAction154___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;
+ /* ./parser//parser.nit:6386 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6387 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6389 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6389);
+ }
+ /* ./parser//parser.nit:6390 */
+ fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6393 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6394 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction154____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6394);
+ }
+ REGB0 = ATTR_parser___ReduceAction154____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction154___init(val_t p0, val_t p1, int* init_table){
+ int itpos157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction154].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6397;
+ fra.me.meth = LOCATE_parser___ReduceAction154___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6397 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction154____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos157] = 1;
+ return;
+}
+void parser___ReduceAction155___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 = 6401;
+ fra.me.meth = LOCATE_parser___ReduceAction155___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;
+ /* ./parser//parser.nit:6403 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6404 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6406 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6406);
+ }
+ /* ./parser//parser.nit:6407 */
+ fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6410 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6411 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction155____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6411);
+ }
+ REGB0 = ATTR_parser___ReduceAction155____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction155___init(val_t p0, val_t p1, int* init_table){
+ int itpos158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction155].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6414;
+ fra.me.meth = LOCATE_parser___ReduceAction155___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6414 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction155____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos158] = 1;
+ return;
+}
+void parser___ReduceAction156___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 = 6418;
+ fra.me.meth = LOCATE_parser___ReduceAction156___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;
+ /* ./parser//parser.nit:6420 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6421 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6423 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6423);
+ }
+ /* ./parser//parser.nit:6424 */
+ fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6427 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6428 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction156____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6428);
+ }
+ REGB0 = ATTR_parser___ReduceAction156____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction156___init(val_t p0, val_t p1, int* init_table){
+ int itpos159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction156].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6431;
+ fra.me.meth = LOCATE_parser___ReduceAction156___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6431 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction156____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos159] = 1;
+ return;
+}
+void parser___ReduceAction157___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 = 6435;
+ fra.me.meth = LOCATE_parser___ReduceAction157___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;
+ /* ./parser//parser.nit:6437 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6438 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6440 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6440);
+ }
+ /* ./parser//parser.nit:6441 */
+ fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6444 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6445 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction157____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6445);
+ }
+ REGB0 = ATTR_parser___ReduceAction157____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction157___init(val_t p0, val_t p1, int* init_table){
+ int itpos160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction157].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6448;
+ fra.me.meth = LOCATE_parser___ReduceAction157___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6448 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction157____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos160] = 1;
+ return;
+}
+void parser___ReduceAction158___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 = 6452;
+ fra.me.meth = LOCATE_parser___ReduceAction158___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;
+ /* ./parser//parser.nit:6454 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6455 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6457 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6457);
+ }
+ /* ./parser//parser.nit:6458 */
+ fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6461 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6462 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction158____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6462);
+ }
+ REGB0 = ATTR_parser___ReduceAction158____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction158___init(val_t p0, val_t p1, int* init_table){
+ int itpos161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction158].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6465;
+ fra.me.meth = LOCATE_parser___ReduceAction158___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6465 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction158____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos161] = 1;
+ return;
+}
+void parser___ReduceAction159___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 = 6469;
+ fra.me.meth = LOCATE_parser___ReduceAction159___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;
+ /* ./parser//parser.nit:6471 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6472 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6474 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6474);
+ }
+ /* ./parser//parser.nit:6475 */
+ fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6478 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6479 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction159____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6479);
+ }
+ REGB0 = ATTR_parser___ReduceAction159____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction159___init(val_t p0, val_t p1, int* init_table){
+ int itpos162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction159].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6482;
+ fra.me.meth = LOCATE_parser___ReduceAction159___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6482 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction159____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos162] = 1;
+ return;
+}
+void parser___ReduceAction160___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 = 6486;
+ fra.me.meth = LOCATE_parser___ReduceAction160___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;
+ /* ./parser//parser.nit:6488 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6489 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6491 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6491);
+ }
+ /* ./parser//parser.nit:6492 */
+ fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6495 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6496 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction160____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6496);
+ }
+ REGB0 = ATTR_parser___ReduceAction160____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction160___init(val_t p0, val_t p1, int* init_table){
+ int itpos163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction160].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6499;
+ fra.me.meth = LOCATE_parser___ReduceAction160___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6499 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction160____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos163] = 1;
+ return;
+}
+void parser___ReduceAction161___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 = 6503;
+ fra.me.meth = LOCATE_parser___ReduceAction161___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;
+ /* ./parser//parser.nit:6505 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6506 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6508 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLl, ID_TLl)) /*cast nullable TLl*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6508);
+ }
+ /* ./parser//parser.nit:6509 */
+ fra.me.REG[3] = NEW_ALlMethid_parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6512 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6513 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction161____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6513);
+ }
+ REGB0 = ATTR_parser___ReduceAction161____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction161___init(val_t p0, val_t p1, int* init_table){
+ int itpos164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction161].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6516;
+ fra.me.meth = LOCATE_parser___ReduceAction161___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6516 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction161____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos164] = 1;
+ return;
+}
+void parser___ReduceAction162___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 = 6520;
+ fra.me.meth = LOCATE_parser___ReduceAction162___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;
+ /* ./parser//parser.nit:6522 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6523 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6525 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGg, ID_TGg)) /*cast nullable TGg*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6525);
+ }
+ /* ./parser//parser.nit:6526 */
+ fra.me.REG[3] = NEW_AGgMethid_parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6529 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6530 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction162____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6530);
+ }
+ REGB0 = ATTR_parser___ReduceAction162____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction162___init(val_t p0, val_t p1, int* init_table){
+ int itpos165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction162].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6533;
+ fra.me.meth = LOCATE_parser___ReduceAction162___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6533 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction162____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos165] = 1;
+ return;
+}
+void parser___ReduceAction163___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 = 6537;
+ fra.me.meth = LOCATE_parser___ReduceAction163___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;
+ /* ./parser//parser.nit:6539 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6540 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6541 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6543 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6543);
+ }
+ /* ./parser//parser.nit:6545 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6545);
+ }
+ /* ./parser//parser.nit:6546 */
+ fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6550 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6551 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction163____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6551);
+ }
+ REGB0 = ATTR_parser___ReduceAction163____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction163___init(val_t p0, val_t p1, int* init_table){
+ int itpos166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction163].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6554;
+ fra.me.meth = LOCATE_parser___ReduceAction163___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6554 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction163____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos166] = 1;
+ return;
+}
+void parser___ReduceAction164___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 = 6558;
+ fra.me.meth = LOCATE_parser___ReduceAction164___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;
+ /* ./parser//parser.nit:6560 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6561 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6563 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6563);
+ }
+ /* ./parser//parser.nit:6564 */
+ fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
+ /* ./parser//parser.nit:6567 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6568 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction164____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6568);
+ }
+ REGB0 = ATTR_parser___ReduceAction164____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction164___init(val_t p0, val_t p1, int* init_table){
+ int itpos167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction164].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6571;
+ fra.me.meth = LOCATE_parser___ReduceAction164___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6571 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction164____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos167] = 1;
+ return;
+}
+void parser___ReduceAction165___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 = 6575;
+ fra.me.meth = LOCATE_parser___ReduceAction165___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;
+ /* ./parser//parser.nit:6577 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6578 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6579 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6581 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6581);
+ }
+ /* ./parser//parser.nit:6583 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6583);
+ }
+ /* ./parser//parser.nit:6584 */
+ fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6588 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6589 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction165____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6589);
+ }
+ REGB0 = ATTR_parser___ReduceAction165____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction165___init(val_t p0, val_t p1, int* init_table){
+ int itpos168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction165].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6592;
+ fra.me.meth = LOCATE_parser___ReduceAction165___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6592 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction165____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos168] = 1;
+ return;
+}
+void parser___ReduceAction166___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 = 6596;
+ fra.me.meth = LOCATE_parser___ReduceAction166___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;
+ /* ./parser//parser.nit:6598 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6599 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6600 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6601 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6603 */
+ REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6603);
+ }
+ /* ./parser//parser.nit:6605 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6605);
+ }
+ /* ./parser//parser.nit:6607 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6607);
+ }
+ /* ./parser//parser.nit:6608 */
+ fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
+ /* ./parser//parser.nit:6613 */
+ fra.me.REG[2] = fra.me.REG[3];
+ /* ./parser//parser.nit:6614 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction166____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6614);
+ }
+ REGB0 = ATTR_parser___ReduceAction166____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction166___init(val_t p0, val_t p1, int* init_table){
+ int itpos169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction166].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6617;
+ fra.me.meth = LOCATE_parser___ReduceAction166___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6617 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction166____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos169] = 1;
+ return;
+}
+void parser___ReduceAction167___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 = 6621;
+ fra.me.meth = LOCATE_parser___ReduceAction167___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;
+ /* ./parser//parser.nit:6623 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6624 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6625 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6626 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6627 */
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6629 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6629);
+ }
+ /* ./parser//parser.nit:6631 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6631);
+ }
+ /* ./parser//parser.nit:6632 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* ./parser//parser.nit:6633 */
+ fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
+ /* ./parser//parser.nit:6638 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* ./parser//parser.nit:6639 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction167____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6639);
+ }
+ REGB0 = ATTR_parser___ReduceAction167____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction167___init(val_t p0, val_t p1, int* init_table){
+ int itpos170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction167].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6642;
+ fra.me.meth = LOCATE_parser___ReduceAction167___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6642 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction167____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos170] = 1;
+ return;
+}
+void parser___ReduceAction168___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6646;
+ fra.me.meth = LOCATE_parser___ReduceAction168___action;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 8;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[7] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./parser//parser.nit:6648 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6649 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6650 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6651 */
+ fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6652 */
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6653 */
+ fra.me.REG[7] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6655 */
+ REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6655);
+ }
+ /* ./parser//parser.nit:6656 */
+ fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
+ fra.me.REG[6] = fra.me.REG[5];
+ /* ./parser//parser.nit:6658 */
+ REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6658);
+ }
+ /* ./parser//parser.nit:6660 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6660);
+ }
+ /* ./parser//parser.nit:6661 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
+ fra.me.REG[7] = fra.me.REG[3];
+ /* ./parser//parser.nit:6662 */
+ fra.me.REG[7] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[4], fra.me.REG[7]);
+ /* ./parser//parser.nit:6667 */
+ fra.me.REG[2] = fra.me.REG[7];
+ /* ./parser//parser.nit:6668 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction168____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6668);
+ }
+ REGB0 = ATTR_parser___ReduceAction168____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction168___init(val_t p0, val_t p1, int* init_table){
+ int itpos171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction168].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6671;
+ fra.me.meth = LOCATE_parser___ReduceAction168___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6671 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction168____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos171] = 1;
+ return;
+}
+void parser___ReduceAction169___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 = 6675;
+ fra.me.meth = LOCATE_parser___ReduceAction169___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;
+ /* ./parser//parser.nit:6677 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6678 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6679 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6680 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6681 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6683 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6683);
+ }
+ /* ./parser//parser.nit:6684 */
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ /* ./parser//parser.nit:6689 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:6690 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction169____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6690);
+ }
+ REGB0 = ATTR_parser___ReduceAction169____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction169___init(val_t p0, val_t p1, int* init_table){
+ int itpos172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction169].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6693;
+ fra.me.meth = LOCATE_parser___ReduceAction169___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6693 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction169____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos172] = 1;
+ return;
+}
+void parser___ReduceAction170___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 = 6697;
+ fra.me.meth = LOCATE_parser___ReduceAction170___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;
+ /* ./parser//parser.nit:6699 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6700 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6701 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6702 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6703 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6704 */
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6706 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6706);
+ }
+ /* ./parser//parser.nit:6707 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* ./parser//parser.nit:6709 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6709);
+ }
+ /* ./parser//parser.nit:6710 */
+ fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
+ /* ./parser//parser.nit:6715 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* ./parser//parser.nit:6716 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction170____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6716);
+ }
+ REGB0 = ATTR_parser___ReduceAction170____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction170___init(val_t p0, val_t p1, int* init_table){
+ int itpos173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction170].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6719;
+ fra.me.meth = LOCATE_parser___ReduceAction170___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6719 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction170____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos173] = 1;
+ return;
+}
+void parser___ReduceAction171___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 = 6723;
+ fra.me.meth = LOCATE_parser___ReduceAction171___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;
+ /* ./parser//parser.nit:6725 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6726 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6727 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6728 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6730 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6730);
+ }
+ /* ./parser//parser.nit:6731 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
+ fra.me.REG[5] = fra.me.REG[3];
+ /* ./parser//parser.nit:6732 */
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
+ /* ./parser//parser.nit:6737 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:6738 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction171____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6738);
+ }
+ REGB0 = ATTR_parser___ReduceAction171____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction171___init(val_t p0, val_t p1, int* init_table){
+ int itpos174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction171].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6741;
+ fra.me.meth = LOCATE_parser___ReduceAction171___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6741 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction171____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos174] = 1;
+ return;
+}
+void parser___ReduceAction172___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 = 6745;
+ fra.me.meth = LOCATE_parser___ReduceAction172___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;
+ /* ./parser//parser.nit:6747 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6748 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6749 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6750 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6751 */
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6753 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6753);
+ }
+ /* ./parser//parser.nit:6754 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* ./parser//parser.nit:6756 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6756);
+ }
+ /* ./parser//parser.nit:6757 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
+ fra.me.REG[6] = fra.me.REG[3];
+ /* ./parser//parser.nit:6758 */
+ fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], NIT_NULL, fra.me.REG[6]);
+ /* ./parser//parser.nit:6763 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* ./parser//parser.nit:6764 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction172____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6764);
+ }
+ REGB0 = ATTR_parser___ReduceAction172____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction172___init(val_t p0, val_t p1, int* init_table){
+ int itpos175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction172].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6767;
+ fra.me.meth = LOCATE_parser___ReduceAction172___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6767 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction172____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos175] = 1;
+ return;
+}
+void parser___ReduceAction173___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 = 6771;
+ fra.me.meth = LOCATE_parser___ReduceAction173___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;
+ /* ./parser//parser.nit:6773 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6774 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6775 */
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6776 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6777 */
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
+ /* ./parser//parser.nit:6782 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:6783 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction173____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6783);
+ }
+ REGB0 = ATTR_parser___ReduceAction173____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction173___init(val_t p0, val_t p1, int* init_table){
+ int itpos176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction173].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6786;
+ fra.me.meth = LOCATE_parser___ReduceAction173___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6786 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction173____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos176] = 1;
+ return;
+}
+void parser___ReduceAction174___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 = 6790;
+ fra.me.meth = LOCATE_parser___ReduceAction174___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;
+ /* ./parser//parser.nit:6792 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6793 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6794 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6795 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6796 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6798 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6798);
+ }
+ /* ./parser//parser.nit:6799 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* ./parser//parser.nit:6800 */
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
+ /* ./parser//parser.nit:6805 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:6806 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction174____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6806);
+ }
+ REGB0 = ATTR_parser___ReduceAction174____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction174___init(val_t p0, val_t p1, int* init_table){
+ int itpos177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction174].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6809;
+ fra.me.meth = LOCATE_parser___ReduceAction174___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6809 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction174____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos177] = 1;
+ return;
+}
+void parser___ReduceAction175___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 = 6813;
+ fra.me.meth = LOCATE_parser___ReduceAction175___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;
+ /* ./parser//parser.nit:6815 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6816 */
+ fra.me.REG[3] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6817 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6818 */
+ fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
+ /* ./parser//parser.nit:6823 */
+ fra.me.REG[2] = fra.me.REG[4];
+ /* ./parser//parser.nit:6824 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction175____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6824);
+ }
+ REGB0 = ATTR_parser___ReduceAction175____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction175___init(val_t p0, val_t p1, int* init_table){
+ int itpos178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction175].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6827;
+ fra.me.meth = LOCATE_parser___ReduceAction175___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6827 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction175____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos178] = 1;
+ return;
+}
+void parser___ReduceAction176___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 = 6831;
+ fra.me.meth = LOCATE_parser___ReduceAction176___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;
+ /* ./parser//parser.nit:6833 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6834 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6835 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6836 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6838 */
+ REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6838);
+ }
+ /* ./parser//parser.nit:6839 */
+ fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
+ fra.me.REG[4] = fra.me.REG[3];
+ /* ./parser//parser.nit:6840 */
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
+ /* ./parser//parser.nit:6845 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:6846 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction176____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6846);
+ }
+ REGB0 = ATTR_parser___ReduceAction176____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction176___init(val_t p0, val_t p1, int* init_table){
+ int itpos179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction176].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6849;
+ fra.me.meth = LOCATE_parser___ReduceAction176___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6849 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction176____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos179] = 1;
+ return;
+}
+void parser___ReduceAction177___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 = 6853;
+ fra.me.meth = LOCATE_parser___ReduceAction177___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;
+ /* ./parser//parser.nit:6855 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6856 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6857 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6858 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6860 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6860);
+ }
+ /* ./parser//parser.nit:6861 */
+ fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
+ /* ./parser//parser.nit:6866 */
+ fra.me.REG[2] = fra.me.REG[5];
+ /* ./parser//parser.nit:6867 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction177____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6867);
+ }
+ REGB0 = ATTR_parser___ReduceAction177____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction177___init(val_t p0, val_t p1, int* init_table){
+ int itpos180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction177].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6870;
+ fra.me.meth = LOCATE_parser___ReduceAction177___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6870 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction177____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos180] = 1;
+ return;
+}
+void parser___ReduceAction178___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6874;
+ fra.me.meth = LOCATE_parser___ReduceAction178___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;
+ /* ./parser//parser.nit:6876 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6877 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6878 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6879 */
+ fra.me.REG[5] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6880 */
+ fra.me.REG[6] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6882 */
+ REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6882);
+ }
+ /* ./parser//parser.nit:6883 */
+ fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
+ fra.me.REG[5] = fra.me.REG[4];
+ /* ./parser//parser.nit:6885 */
+ REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_parser, 6885);
+ }
+ /* ./parser//parser.nit:6886 */
+ fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
+ /* ./parser//parser.nit:6891 */
+ fra.me.REG[2] = fra.me.REG[6];
+ /* ./parser//parser.nit:6892 */
+ REGB0 = TAG_Bool(ATTR_parser___ReduceAction178____goto(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6892);
+ }
+ REGB0 = ATTR_parser___ReduceAction178____goto(fra.me.REG[0]);
+ REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
+ CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void parser___ReduceAction178___init(val_t p0, val_t p1, int* init_table){
+ int itpos181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction178].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ 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 = 6895;
+ fra.me.meth = LOCATE_parser___ReduceAction178___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./parser//parser.nit:6895 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ ATTR_parser___ReduceAction178____goto(fra.me.REG[1]) = REGB0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos181] = 1;
+ return;
+}
+void parser___ReduceAction179___action(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_parser;
+ fra.me.line = 6899;
+ fra.me.meth = LOCATE_parser___ReduceAction179___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;
+ /* ./parser//parser.nit:6901 */
+ fra.me.REG[2] = NIT_NULL;
+ /* ./parser//parser.nit:6902 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6903 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6904 */
+ fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6905 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6906 */
+ fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./parser//parser.nit:6907 */
+ fra.me.REG[4] = NEW_Array_array___Array___init();
+ /* ./parser//parser.nit:6909 */
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;