Merge: Use self in the FFI
[nit.git] / src / parser / parser.nit
index 00a3106..86cef1c 100644 (file)
@@ -40,992 +40,1076 @@ redef class Parser
                        new ReduceAction27(6),
                        new ReduceAction28(6),
                        new ReduceAction29(6),
-                       new ReduceAction30(6),
-                       new ReduceAction31(6),
-                       new ReduceAction32(6),
-                       new ReduceAction33(6),
-                       new ReduceAction34(6),
-                       new ReduceAction35(6),
-                       new ReduceAction36(6),
-                       new ReduceAction37(6),
-                       new ReduceAction38(6),
-                       new ReduceAction39(6),
-                       new ReduceAction40(6),
-                       new ReduceAction41(6),
                        new ReduceAction22(7),
-                       new ReduceAction43(7),
-                       new ReduceAction44(8),
-                       new ReduceAction45(8),
-                       new ReduceAction46(8),
-                       new ReduceAction47(8),
-                       new ReduceAction48(8),
-                       new ReduceAction49(9),
-                       new ReduceAction50(9),
-                       new ReduceAction51(9),
-                       new ReduceAction52(10),
-                       new ReduceAction53(11),
-                       new ReduceAction54(11),
-                       new ReduceAction55(12),
-                       new ReduceAction56(13),
-                       new ReduceAction57(14),
-                       new ReduceAction58(14),
-                       new ReduceAction59(14),
-                       new ReduceAction60(14),
-                       new ReduceAction61(14),
-                       new ReduceAction62(14),
-                       new ReduceAction63(14),
-                       new ReduceAction64(14),
-                       new ReduceAction65(14),
-                       new ReduceAction66(14),
-                       new ReduceAction67(14),
-                       new ReduceAction68(14),
-                       new ReduceAction69(14),
-                       new ReduceAction70(14),
-                       new ReduceAction71(14),
-                       new ReduceAction72(14),
-                       new ReduceAction73(14),
-                       new ReduceAction74(14),
-                       new ReduceAction75(14),
-                       new ReduceAction76(14),
-                       new ReduceAction77(14),
-                       new ReduceAction78(14),
-                       new ReduceAction79(14),
-                       new ReduceAction80(14),
-                       new ReduceAction81(14),
-                       new ReduceAction82(14),
-                       new ReduceAction83(15),
-                       new ReduceAction84(15),
-                       new ReduceAction22(15),
-                       new ReduceAction83(16),
-                       new ReduceAction87(16),
-                       new ReduceAction88(17),
-                       new ReduceAction89(17),
-                       new ReduceAction90(17),
-                       new ReduceAction91(17),
-                       new ReduceAction92(17),
-                       new ReduceAction93(18),
-                       new ReduceAction94(18),
-                       new ReduceAction95(18),
-                       new ReduceAction96(18),
-                       new ReduceAction97(18),
-                       new ReduceAction98(18),
-                       new ReduceAction99(18),
-                       new ReduceAction100(18),
-                       new ReduceAction101(18),
-                       new ReduceAction102(18),
-                       new ReduceAction103(18),
-                       new ReduceAction104(18),
-                       new ReduceAction105(18),
-                       new ReduceAction106(18),
-                       new ReduceAction107(18),
-                       new ReduceAction108(18),
-                       new ReduceAction109(18),
-                       new ReduceAction110(18),
-                       new ReduceAction111(18),
-                       new ReduceAction112(19),
-                       new ReduceAction113(19),
-                       new ReduceAction114(19),
-                       new ReduceAction115(19),
-                       new ReduceAction116(20),
-                       new ReduceAction117(20),
-                       new ReduceAction51(20),
-                       new ReduceAction119(21),
-                       new ReduceAction120(22),
-                       new ReduceAction121(22),
-                       new ReduceAction122(22),
-                       new ReduceAction123(22),
-                       new ReduceAction124(22),
-                       new ReduceAction125(23),
-                       new ReduceAction126(23),
-                       new ReduceAction22(23),
-                       new ReduceAction128(24),
-                       new ReduceAction129(25),
-                       new ReduceAction129(25),
-                       new ReduceAction131(25),
-                       new ReduceAction132(26),
-                       new ReduceAction133(26),
-                       new ReduceAction134(26),
-                       new ReduceAction135(27),
-                       new ReduceAction136(27),
-                       new ReduceAction137(27),
-                       new ReduceAction138(27),
-                       new ReduceAction139(27),
-                       new ReduceAction140(27),
-                       new ReduceAction22(28),
-                       new ReduceAction142(28),
-                       new ReduceAction143(29),
-                       new ReduceAction144(30),
-                       new ReduceAction145(30),
-                       new ReduceAction146(31),
-                       new ReduceAction22(31),
-                       new ReduceAction148(32),
-                       new ReduceAction149(33),
-                       new ReduceAction150(33),
-                       new ReduceAction151(33),
-                       new ReduceAction152(33),
-                       new ReduceAction153(34),
-                       new ReduceAction154(34),
-                       new ReduceAction155(35),
-                       new ReduceAction155(36),
-                       new ReduceAction155(37),
-                       new ReduceAction22(37),
-                       new ReduceAction159(38),
-                       new ReduceAction160(38),
-                       new ReduceAction161(38),
-                       new ReduceAction162(38),
-                       new ReduceAction163(39),
-                       new ReduceAction164(39),
-                       new ReduceAction165(40),
-                       new ReduceAction166(40),
-                       new ReduceAction167(41),
-                       new ReduceAction168(41),
-                       new ReduceAction159(42),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction172(43),
-                       new ReduceAction173(43),
-                       new ReduceAction174(43),
-                       new ReduceAction175(43),
-                       new ReduceAction176(43),
-                       new ReduceAction177(43),
-                       new ReduceAction178(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction185(43),
-                       new ReduceAction186(43),
-                       new ReduceAction187(43),
-                       new ReduceAction186(43),
-                       new ReduceAction189(43),
-                       new ReduceAction190(43),
-                       new ReduceAction191(43),
-                       new ReduceAction190(43),
-                       new ReduceAction193(43),
-                       new ReduceAction194(43),
-                       new ReduceAction195(43),
-                       new ReduceAction196(43),
-                       new ReduceAction197(43),
-                       new ReduceAction196(43),
-                       new ReduceAction199(43),
-                       new ReduceAction200(43),
-                       new ReduceAction199(43),
-                       new ReduceAction202(43),
-                       new ReduceAction203(44),
-                       new ReduceAction204(44),
-                       new ReduceAction205(45),
-                       new ReduceAction206(45),
-                       new ReduceAction207(45),
-                       new ReduceAction208(45),
-                       new ReduceAction209(46),
-                       new ReduceAction210(46),
-                       new ReduceAction211(46),
-                       new ReduceAction212(46),
-                       new ReduceAction213(46),
-                       new ReduceAction214(46),
-                       new ReduceAction215(46),
-                       new ReduceAction216(46),
-                       new ReduceAction213(46),
-                       new ReduceAction214(46),
-                       new ReduceAction219(46),
-                       new ReduceAction220(46),
-                       new ReduceAction221(46),
-                       new ReduceAction222(46),
-                       new ReduceAction223(46),
-                       new ReduceAction224(46),
-                       new ReduceAction221(46),
-                       new ReduceAction222(46),
-                       new ReduceAction227(46),
-                       new ReduceAction228(46),
-                       new ReduceAction229(46),
-                       new ReduceAction230(46),
-                       new ReduceAction231(46),
-                       new ReduceAction232(46),
-                       new ReduceAction233(46),
-                       new ReduceAction234(46),
-                       new ReduceAction235(46),
-                       new ReduceAction232(46),
-                       new ReduceAction233(46),
-                       new ReduceAction238(46),
-                       new ReduceAction239(46),
-                       new ReduceAction240(46),
-                       new ReduceAction241(46),
-                       new ReduceAction242(46),
-                       new ReduceAction243(46),
-                       new ReduceAction240(46),
-                       new ReduceAction241(46),
-                       new ReduceAction246(46),
-                       new ReduceAction247(47),
-                       new ReduceAction248(47),
+                       new ReduceAction31(7),
+                       new ReduceAction32(8),
+                       new ReduceAction33(8),
+                       new ReduceAction34(8),
+                       new ReduceAction35(8),
+                       new ReduceAction36(8),
+                       new ReduceAction37(9),
+                       new ReduceAction38(9),
+                       new ReduceAction39(9),
+                       new ReduceAction40(10),
+                       new ReduceAction41(11),
+                       new ReduceAction42(11),
+                       new ReduceAction43(12),
+                       new ReduceAction44(13),
+                       new ReduceAction45(13),
+                       new ReduceAction46(13),
+                       new ReduceAction47(14),
+                       new ReduceAction48(15),
+                       new ReduceAction49(15),
+                       new ReduceAction50(15),
+                       new ReduceAction51(15),
+                       new ReduceAction52(15),
+                       new ReduceAction53(15),
+                       new ReduceAction54(15),
+                       new ReduceAction55(15),
+                       new ReduceAction56(15),
+                       new ReduceAction57(15),
+                       new ReduceAction58(15),
+                       new ReduceAction59(15),
+                       new ReduceAction60(15),
+                       new ReduceAction61(15),
+                       new ReduceAction62(15),
+                       new ReduceAction63(15),
+                       new ReduceAction64(15),
+                       new ReduceAction65(15),
+                       new ReduceAction66(15),
+                       new ReduceAction67(15),
+                       new ReduceAction68(15),
+                       new ReduceAction69(15),
+                       new ReduceAction70(15),
+                       new ReduceAction71(15),
+                       new ReduceAction72(15),
+                       new ReduceAction73(15),
+                       new ReduceAction74(15),
+                       new ReduceAction74(15),
+                       new ReduceAction76(16),
+                       new ReduceAction77(16),
+                       new ReduceAction22(16),
+                       new ReduceAction76(17),
+                       new ReduceAction80(17),
+                       new ReduceAction81(18),
+                       new ReduceAction82(18),
+                       new ReduceAction83(18),
+                       new ReduceAction84(18),
+                       new ReduceAction85(18),
+                       new ReduceAction86(19),
+                       new ReduceAction87(19),
+                       new ReduceAction88(19),
+                       new ReduceAction89(19),
+                       new ReduceAction90(19),
+                       new ReduceAction91(19),
+                       new ReduceAction92(19),
+                       new ReduceAction93(19),
+                       new ReduceAction94(19),
+                       new ReduceAction95(19),
+                       new ReduceAction96(19),
+                       new ReduceAction97(19),
+                       new ReduceAction98(19),
+                       new ReduceAction99(19),
+                       new ReduceAction100(19),
+                       new ReduceAction101(19),
+                       new ReduceAction102(19),
+                       new ReduceAction103(19),
+                       new ReduceAction104(19),
+                       new ReduceAction105(19),
+                       new ReduceAction106(19),
+                       new ReduceAction107(19),
+                       new ReduceAction108(19),
+                       new ReduceAction109(20),
+                       new ReduceAction110(20),
+                       new ReduceAction111(20),
+                       new ReduceAction112(20),
+                       new ReduceAction113(21),
+                       new ReduceAction114(21),
+                       new ReduceAction39(21),
+                       new ReduceAction116(22),
+                       new ReduceAction117(23),
+                       new ReduceAction118(23),
+                       new ReduceAction119(23),
+                       new ReduceAction120(23),
+                       new ReduceAction121(23),
+                       new ReduceAction122(24),
+                       new ReduceAction123(24),
+                       new ReduceAction22(24),
+                       new ReduceAction125(25),
+                       new ReduceAction126(26),
+                       new ReduceAction126(26),
+                       new ReduceAction128(26),
+                       new ReduceAction129(27),
+                       new ReduceAction130(27),
+                       new ReduceAction131(27),
+                       new ReduceAction132(28),
+                       new ReduceAction133(28),
+                       new ReduceAction134(28),
+                       new ReduceAction135(28),
+                       new ReduceAction136(28),
+                       new ReduceAction137(28),
+                       new ReduceAction22(29),
+                       new ReduceAction139(29),
+                       new ReduceAction140(30),
+                       new ReduceAction141(31),
+                       new ReduceAction142(31),
+                       new ReduceAction143(32),
+                       new ReduceAction22(32),
+                       new ReduceAction145(33),
+                       new ReduceAction146(34),
+                       new ReduceAction147(34),
+                       new ReduceAction148(34),
+                       new ReduceAction149(34),
+                       new ReduceAction150(35),
+                       new ReduceAction151(35),
+                       new ReduceAction152(36),
+                       new ReduceAction152(37),
+                       new ReduceAction152(38),
+                       new ReduceAction22(38),
+                       new ReduceAction156(39),
+                       new ReduceAction157(39),
+                       new ReduceAction158(39),
+                       new ReduceAction159(39),
+                       new ReduceAction160(40),
+                       new ReduceAction161(40),
+                       new ReduceAction162(41),
+                       new ReduceAction163(41),
+                       new ReduceAction164(42),
+                       new ReduceAction165(42),
+                       new ReduceAction156(43),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction169(44),
+                       new ReduceAction170(44),
+                       new ReduceAction171(44),
+                       new ReduceAction172(44),
+                       new ReduceAction173(44),
+                       new ReduceAction174(44),
+                       new ReduceAction175(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction159(44),
+                       new ReduceAction183(44),
+                       new ReduceAction184(44),
+                       new ReduceAction185(44),
+                       new ReduceAction184(44),
+                       new ReduceAction187(44),
+                       new ReduceAction188(44),
+                       new ReduceAction189(44),
+                       new ReduceAction188(44),
+                       new ReduceAction191(44),
+                       new ReduceAction192(44),
+                       new ReduceAction193(44),
+                       new ReduceAction194(44),
+                       new ReduceAction195(44),
+                       new ReduceAction194(44),
+                       new ReduceAction197(44),
+                       new ReduceAction198(44),
+                       new ReduceAction197(44),
+                       new ReduceAction200(44),
+                       new ReduceAction201(45),
+                       new ReduceAction202(45),
+                       new ReduceAction203(46),
+                       new ReduceAction204(46),
+                       new ReduceAction205(46),
+                       new ReduceAction206(46),
+                       new ReduceAction207(47),
+                       new ReduceAction208(47),
+                       new ReduceAction209(47),
+                       new ReduceAction210(47),
+                       new ReduceAction211(47),
+                       new ReduceAction212(47),
+                       new ReduceAction213(47),
+                       new ReduceAction214(47),
+                       new ReduceAction211(47),
+                       new ReduceAction212(47),
+                       new ReduceAction217(47),
+                       new ReduceAction218(47),
+                       new ReduceAction219(47),
+                       new ReduceAction220(47),
+                       new ReduceAction221(47),
+                       new ReduceAction222(47),
+                       new ReduceAction219(47),
+                       new ReduceAction220(47),
+                       new ReduceAction225(47),
+                       new ReduceAction226(47),
+                       new ReduceAction227(47),
+                       new ReduceAction228(47),
+                       new ReduceAction229(47),
+                       new ReduceAction230(47),
+                       new ReduceAction231(47),
+                       new ReduceAction232(47),
+                       new ReduceAction233(47),
+                       new ReduceAction230(47),
+                       new ReduceAction231(47),
+                       new ReduceAction236(47),
+                       new ReduceAction237(47),
+                       new ReduceAction238(47),
+                       new ReduceAction239(47),
+                       new ReduceAction240(47),
+                       new ReduceAction241(47),
+                       new ReduceAction238(47),
+                       new ReduceAction239(47),
+                       new ReduceAction244(47),
+                       new ReduceAction245(48),
+                       new ReduceAction246(48),
+                       new ReduceAction247(48),
+                       new ReduceAction248(48),
                        new ReduceAction249(48),
                        new ReduceAction250(48),
-                       new ReduceAction251(49),
-                       new ReduceAction252(49),
-                       new ReduceAction253(49),
-                       new ReduceAction254(49),
-                       new ReduceAction255(49),
-                       new ReduceAction159(50),
-                       new ReduceAction161(50),
-                       new ReduceAction258(51),
-                       new ReduceAction259(51),
-                       new ReduceAction260(52),
-                       new ReduceAction261(52),
-                       new ReduceAction262(53),
-                       new ReduceAction263(53),
-                       new ReduceAction264(54),
-                       new ReduceAction265(54),
-                       new ReduceAction266(54),
-                       new ReduceAction267(54),
-                       new ReduceAction268(55),
-                       new ReduceAction162(56),
-                       new ReduceAction270(56),
-                       new ReduceAction162(57),
-                       new ReduceAction272(57),
-                       new ReduceAction273(57),
-                       new ReduceAction274(57),
-                       new ReduceAction275(57),
-                       new ReduceAction162(58),
-                       new ReduceAction277(58),
-                       new ReduceAction162(59),
-                       new ReduceAction279(59),
-                       new ReduceAction280(59),
-                       new ReduceAction281(59),
-                       new ReduceAction282(59),
-                       new ReduceAction283(59),
+                       new ReduceAction251(48),
+                       new ReduceAction252(48),
+                       new ReduceAction253(48),
+                       new ReduceAction254(48),
+                       new ReduceAction255(48),
+                       new ReduceAction256(49),
+                       new ReduceAction257(49),
+                       new ReduceAction258(50),
+                       new ReduceAction259(50),
+                       new ReduceAction260(50),
+                       new ReduceAction261(50),
+                       new ReduceAction262(50),
+                       new ReduceAction263(50),
+                       new ReduceAction264(50),
+                       new ReduceAction265(50),
+                       new ReduceAction158(51),
+                       new ReduceAction267(52),
+                       new ReduceAction268(52),
+                       new ReduceAction269(53),
+                       new ReduceAction270(53),
+                       new ReduceAction271(54),
+                       new ReduceAction272(54),
+                       new ReduceAction273(55),
+                       new ReduceAction274(55),
+                       new ReduceAction275(56),
+                       new ReduceAction276(56),
+                       new ReduceAction159(56),
+                       new ReduceAction278(57),
+                       new ReduceAction279(57),
+                       new ReduceAction280(57),
+                       new ReduceAction281(57),
+                       new ReduceAction282(58),
+                       new ReduceAction159(59),
                        new ReduceAction284(59),
-                       new ReduceAction285(59),
-                       new ReduceAction286(59),
-                       new ReduceAction287(59),
-                       new ReduceAction288(59),
-                       new ReduceAction162(60),
-                       new ReduceAction290(60),
-                       new ReduceAction291(60),
-                       new ReduceAction162(61),
-                       new ReduceAction293(61),
-                       new ReduceAction294(61),
-                       new ReduceAction295(61),
-                       new ReduceAction162(62),
+                       new ReduceAction159(60),
+                       new ReduceAction286(60),
+                       new ReduceAction287(60),
+                       new ReduceAction288(60),
+                       new ReduceAction289(60),
+                       new ReduceAction159(61),
+                       new ReduceAction291(61),
+                       new ReduceAction159(62),
+                       new ReduceAction293(62),
+                       new ReduceAction294(62),
+                       new ReduceAction295(62),
+                       new ReduceAction296(62),
                        new ReduceAction297(62),
-                       new ReduceAction162(63),
-                       new ReduceAction299(63),
-                       new ReduceAction300(63),
-                       new ReduceAction162(64),
-                       new ReduceAction302(64),
-                       new ReduceAction303(64),
+                       new ReduceAction298(62),
+                       new ReduceAction299(62),
+                       new ReduceAction300(62),
+                       new ReduceAction159(63),
+                       new ReduceAction302(63),
+                       new ReduceAction159(64),
                        new ReduceAction304(64),
-                       new ReduceAction305(64),
-                       new ReduceAction162(65),
-                       new ReduceAction307(65),
-                       new ReduceAction308(65),
-                       new ReduceAction185(65),
-                       new ReduceAction310(65),
-                       new ReduceAction186(65),
-                       new ReduceAction312(65),
-                       new ReduceAction187(65),
-                       new ReduceAction314(65),
-                       new ReduceAction186(65),
-                       new ReduceAction312(65),
-                       new ReduceAction189(65),
-                       new ReduceAction318(65),
-                       new ReduceAction190(65),
-                       new ReduceAction320(65),
-                       new ReduceAction191(65),
-                       new ReduceAction322(65),
-                       new ReduceAction190(65),
-                       new ReduceAction320(65),
-                       new ReduceAction193(65),
-                       new ReduceAction326(65),
-                       new ReduceAction194(65),
-                       new ReduceAction328(65),
-                       new ReduceAction195(65),
-                       new ReduceAction330(65),
-                       new ReduceAction331(65),
-                       new ReduceAction332(65),
-                       new ReduceAction333(65),
-                       new ReduceAction334(65),
-                       new ReduceAction335(65),
-                       new ReduceAction336(65),
-                       new ReduceAction337(65),
-                       new ReduceAction334(65),
-                       new ReduceAction335(65),
-                       new ReduceAction340(65),
-                       new ReduceAction341(65),
-                       new ReduceAction342(65),
-                       new ReduceAction343(65),
-                       new ReduceAction344(66),
-                       new ReduceAction345(66),
-                       new ReduceAction346(66),
-                       new ReduceAction347(66),
-                       new ReduceAction348(66),
-                       new ReduceAction349(66),
-                       new ReduceAction350(66),
-                       new ReduceAction351(66),
-                       new ReduceAction352(66),
-                       new ReduceAction162(66),
-                       new ReduceAction162(66),
-                       new ReduceAction355(66),
-                       new ReduceAction356(66),
-                       new ReduceAction357(66),
-                       new ReduceAction358(67),
-                       new ReduceAction358(67),
-                       new ReduceAction360(68),
-                       new ReduceAction361(69),
-                       new ReduceAction362(70),
-                       new ReduceAction363(70),
-                       new ReduceAction361(71),
+                       new ReduceAction159(65),
+                       new ReduceAction306(65),
+                       new ReduceAction159(66),
+                       new ReduceAction308(66),
+                       new ReduceAction309(66),
+                       new ReduceAction159(67),
+                       new ReduceAction311(67),
+                       new ReduceAction312(67),
+                       new ReduceAction159(68),
+                       new ReduceAction314(68),
+                       new ReduceAction315(68),
+                       new ReduceAction316(68),
+                       new ReduceAction159(69),
+                       new ReduceAction318(69),
+                       new ReduceAction159(70),
+                       new ReduceAction320(70),
+                       new ReduceAction321(70),
+                       new ReduceAction322(70),
+                       new ReduceAction323(70),
+                       new ReduceAction159(71),
+                       new ReduceAction325(71),
+                       new ReduceAction326(71),
+                       new ReduceAction327(71),
+                       new ReduceAction328(71),
+                       new ReduceAction159(72),
+                       new ReduceAction330(72),
+                       new ReduceAction331(72),
+                       new ReduceAction183(72),
+                       new ReduceAction333(72),
+                       new ReduceAction184(72),
+                       new ReduceAction335(72),
+                       new ReduceAction185(72),
+                       new ReduceAction337(72),
+                       new ReduceAction184(72),
+                       new ReduceAction335(72),
+                       new ReduceAction187(72),
+                       new ReduceAction341(72),
+                       new ReduceAction188(72),
+                       new ReduceAction343(72),
+                       new ReduceAction189(72),
+                       new ReduceAction345(72),
+                       new ReduceAction188(72),
+                       new ReduceAction343(72),
+                       new ReduceAction191(72),
+                       new ReduceAction349(72),
+                       new ReduceAction192(72),
+                       new ReduceAction351(72),
+                       new ReduceAction193(72),
+                       new ReduceAction353(72),
+                       new ReduceAction354(72),
+                       new ReduceAction355(72),
+                       new ReduceAction356(72),
+                       new ReduceAction357(72),
+                       new ReduceAction358(72),
+                       new ReduceAction359(72),
+                       new ReduceAction360(72),
+                       new ReduceAction357(72),
+                       new ReduceAction358(72),
+                       new ReduceAction363(72),
+                       new ReduceAction364(72),
                        new ReduceAction365(72),
-                       new ReduceAction263(72),
-                       new ReduceAction367(72),
+                       new ReduceAction159(73),
+                       new ReduceAction367(73),
                        new ReduceAction368(73),
-                       new ReduceAction369(73),
+                       new ReduceAction369(74),
                        new ReduceAction370(74),
                        new ReduceAction371(74),
-                       new ReduceAction372(75),
-                       new ReduceAction370(76),
-                       new ReduceAction371(76),
-                       new ReduceAction375(77),
-                       new ReduceAction376(78),
-                       new ReduceAction377(79),
-                       new ReduceAction378(79),
-                       new ReduceAction379(80),
-                       new ReduceAction22(80),
-                       new ReduceAction381(81),
-                       new ReduceAction382(81),
-                       new ReduceAction383(82),
-                       new ReduceAction384(83),
-                       new ReduceAction385(83),
-                       new ReduceAction381(84),
-                       new ReduceAction382(84),
-                       new ReduceAction388(84),
-                       new ReduceAction162(85),
-                       new ReduceAction390(86),
-                       new ReduceAction383(87),
-                       new ReduceAction392(88),
-                       new ReduceAction393(88),
-                       new ReduceAction394(88),
-                       new ReduceAction395(88),
-                       new ReduceAction396(88),
-                       new ReduceAction397(89),
-                       new ReduceAction398(89),
-                       new ReduceAction399(89),
-                       new ReduceAction400(89),
-                       new ReduceAction401(89),
-                       new ReduceAction362(90),
-                       new ReduceAction363(90),
-                       new ReduceAction361(91),
-                       new ReduceAction405(92),
-                       new ReduceAction162(92),
-                       new ReduceAction162(92),
-                       new ReduceAction408(92),
-                       new ReduceAction409(92),
-                       new ReduceAction410(92),
-                       new ReduceAction411(93),
-                       new ReduceAction412(93),
-                       new ReduceAction413(93),
-                       new ReduceAction414(94),
-                       new ReduceAction415(94),
-                       new ReduceAction414(95),
-                       new ReduceAction417(95),
-                       new ReduceAction415(95),
-                       new ReduceAction419(95),
-                       new ReduceAction420(96),
-                       new ReduceAction421(97),
-                       new ReduceAction371(98),
-                       new ReduceAction423(98),
-                       new ReduceAction424(99),
-                       new ReduceAction425(100),
-                       new ReduceAction426(100),
-                       new ReduceAction427(101),
-                       new ReduceAction428(101),
-                       new ReduceAction429(102),
-                       new ReduceAction430(102),
-                       new ReduceAction431(102),
-                       new ReduceAction432(102),
-                       new ReduceAction433(103),
-                       new ReduceAction434(103),
-                       new ReduceAction435(103),
-                       new ReduceAction22(103),
-                       new ReduceAction437(104),
-                       new ReduceAction438(104),
-                       new ReduceAction439(104),
-                       new ReduceAction438(104),
-                       new ReduceAction441(105),
-                       new ReduceAction442(105),
-                       new ReduceAction443(105),
-                       new ReduceAction442(105),
-                       new ReduceAction445(106),
-                       new ReduceAction446(107),
+                       new ReduceAction372(74),
+                       new ReduceAction373(74),
+                       new ReduceAction374(74),
+                       new ReduceAction375(74),
+                       new ReduceAction376(74),
+                       new ReduceAction377(74),
+                       new ReduceAction378(74),
+                       new ReduceAction379(74),
+                       new ReduceAction159(74),
+                       new ReduceAction159(74),
+                       new ReduceAction382(74),
+                       new ReduceAction383(74),
+                       new ReduceAction384(74),
+                       new ReduceAction385(75),
+                       new ReduceAction385(75),
+                       new ReduceAction387(76),
+                       new ReduceAction388(77),
+                       new ReduceAction389(78),
+                       new ReduceAction390(78),
+                       new ReduceAction388(79),
+                       new ReduceAction392(80),
+                       new ReduceAction272(80),
+                       new ReduceAction394(80),
+                       new ReduceAction395(81),
+                       new ReduceAction396(81),
+                       new ReduceAction397(82),
+                       new ReduceAction398(82),
+                       new ReduceAction399(83),
+                       new ReduceAction397(84),
+                       new ReduceAction398(84),
+                       new ReduceAction402(85),
+                       new ReduceAction403(86),
+                       new ReduceAction404(87),
+                       new ReduceAction405(87),
+                       new ReduceAction406(88),
+                       new ReduceAction22(88),
+                       new ReduceAction408(89),
+                       new ReduceAction409(89),
+                       new ReduceAction410(90),
+                       new ReduceAction411(90),
+                       new ReduceAction408(91),
+                       new ReduceAction409(91),
+                       new ReduceAction414(91),
+                       new ReduceAction159(92),
+                       new ReduceAction416(93),
+                       new ReduceAction417(94),
+                       new ReduceAction418(94),
+                       new ReduceAction419(94),
+                       new ReduceAction420(94),
+                       new ReduceAction421(94),
+                       new ReduceAction422(95),
+                       new ReduceAction423(95),
+                       new ReduceAction424(95),
+                       new ReduceAction425(95),
+                       new ReduceAction426(95),
+                       new ReduceAction389(96),
+                       new ReduceAction390(96),
+                       new ReduceAction388(97),
+                       new ReduceAction430(98),
+                       new ReduceAction159(98),
+                       new ReduceAction159(98),
+                       new ReduceAction433(98),
+                       new ReduceAction434(98),
+                       new ReduceAction435(98),
+                       new ReduceAction436(99),
+                       new ReduceAction437(99),
+                       new ReduceAction438(99),
+                       new ReduceAction439(100),
+                       new ReduceAction440(100),
+                       new ReduceAction439(101),
+                       new ReduceAction442(101),
+                       new ReduceAction440(101),
+                       new ReduceAction444(101),
+                       new ReduceAction445(102),
+                       new ReduceAction398(103),
+                       new ReduceAction447(103),
+                       new ReduceAction448(104),
+                       new ReduceAction449(105),
+                       new ReduceAction450(105),
+                       new ReduceAction451(106),
+                       new ReduceAction452(106),
+                       new ReduceAction453(107),
+                       new ReduceAction454(107),
+                       new ReduceAction455(107),
+                       new ReduceAction456(107),
+                       new ReduceAction457(108),
+                       new ReduceAction458(108),
+                       new ReduceAction459(108),
                        new ReduceAction22(108),
-                       new ReduceAction448(108),
-                       new ReduceAction449(109),
-                       new ReduceAction449(109),
-                       new ReduceAction451(110),
-                       new ReduceAction452(110),
-                       new ReduceAction23(110),
-                       new ReduceAction22(111),
-                       new ReduceAction455(111),
-                       new ReduceAction456(112),
-                       new ReduceAction457(112),
-                       new ReduceAction449(112),
-                       new ReduceAction56(113),
-                       new ReduceAction57(114),
-                       new ReduceAction58(114),
-                       new ReduceAction59(114),
-                       new ReduceAction66(114),
-                       new ReduceAction67(114),
-                       new ReduceAction83(115),
-                       new ReduceAction84(115),
-                       new ReduceAction93(116),
-                       new ReduceAction94(116),
-                       new ReduceAction95(116),
-                       new ReduceAction96(116),
-                       new ReduceAction97(116),
-                       new ReduceAction98(116),
-                       new ReduceAction99(116),
-                       new ReduceAction100(116),
-                       new ReduceAction101(116),
-                       new ReduceAction102(116),
-                       new ReduceAction103(116),
-                       new ReduceAction104(116),
-                       new ReduceAction105(116),
-                       new ReduceAction106(116),
-                       new ReduceAction107(116),
-                       new ReduceAction108(116),
-                       new ReduceAction109(116),
-                       new ReduceAction110(116),
-                       new ReduceAction441(117),
-                       new ReduceAction442(117),
-                       new ReduceAction443(117),
-                       new ReduceAction442(117),
-                       new ReduceAction149(118),
-                       new ReduceAction150(118),
-                       new ReduceAction162(119),
-                       new ReduceAction270(119),
-                       new ReduceAction162(120),
-                       new ReduceAction272(120),
-                       new ReduceAction273(120),
-                       new ReduceAction274(120),
-                       new ReduceAction275(120),
-                       new ReduceAction162(121),
-                       new ReduceAction277(121),
-                       new ReduceAction162(122),
-                       new ReduceAction279(122),
-                       new ReduceAction280(122),
-                       new ReduceAction281(122),
-                       new ReduceAction282(122),
-                       new ReduceAction283(122),
-                       new ReduceAction284(122),
-                       new ReduceAction285(122),
-                       new ReduceAction286(122),
-                       new ReduceAction287(122),
-                       new ReduceAction288(122),
-                       new ReduceAction162(123),
-                       new ReduceAction290(123),
-                       new ReduceAction291(123),
-                       new ReduceAction162(124),
-                       new ReduceAction293(124),
-                       new ReduceAction294(124),
-                       new ReduceAction295(124),
-                       new ReduceAction162(125),
-                       new ReduceAction297(125),
-                       new ReduceAction162(126),
-                       new ReduceAction299(126),
-                       new ReduceAction300(126),
-                       new ReduceAction162(127),
-                       new ReduceAction302(127),
-                       new ReduceAction303(127),
-                       new ReduceAction304(127),
-                       new ReduceAction305(127),
-                       new ReduceAction162(128),
-                       new ReduceAction307(128),
-                       new ReduceAction308(128),
-                       new ReduceAction185(128),
-                       new ReduceAction189(128),
-                       new ReduceAction310(128),
-                       new ReduceAction318(128),
-                       new ReduceAction186(128),
-                       new ReduceAction190(128),
-                       new ReduceAction312(128),
-                       new ReduceAction320(128),
-                       new ReduceAction187(128),
-                       new ReduceAction191(128),
-                       new ReduceAction314(128),
-                       new ReduceAction322(128),
-                       new ReduceAction186(128),
-                       new ReduceAction190(128),
-                       new ReduceAction312(128),
-                       new ReduceAction320(128),
-                       new ReduceAction193(128),
-                       new ReduceAction326(128),
-                       new ReduceAction194(128),
-                       new ReduceAction195(128),
-                       new ReduceAction328(128),
-                       new ReduceAction330(128),
-                       new ReduceAction332(128),
-                       new ReduceAction333(128),
-                       new ReduceAction334(128),
-                       new ReduceAction335(128),
-                       new ReduceAction336(128),
-                       new ReduceAction337(128),
-                       new ReduceAction334(128),
-                       new ReduceAction335(128),
-                       new ReduceAction340(128),
-                       new ReduceAction341(128),
-                       new ReduceAction342(128),
-                       new ReduceAction343(128),
-                       new ReduceAction344(129),
-                       new ReduceAction345(129),
-                       new ReduceAction346(129),
-                       new ReduceAction347(129),
-                       new ReduceAction348(129),
-                       new ReduceAction349(129),
-                       new ReduceAction350(129),
-                       new ReduceAction351(129),
-                       new ReduceAction352(129),
-                       new ReduceAction162(129),
-                       new ReduceAction162(129),
-                       new ReduceAction149(130),
-                       new ReduceAction150(130),
-                       new ReduceAction151(130),
-                       new ReduceAction152(130),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction172(131),
-                       new ReduceAction173(131),
-                       new ReduceAction174(131),
-                       new ReduceAction175(131),
-                       new ReduceAction176(131),
-                       new ReduceAction177(131),
-                       new ReduceAction178(131),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction162(131),
-                       new ReduceAction185(131),
-                       new ReduceAction186(131),
-                       new ReduceAction187(131),
-                       new ReduceAction186(131),
-                       new ReduceAction189(131),
-                       new ReduceAction190(131),
-                       new ReduceAction191(131),
-                       new ReduceAction190(131),
-                       new ReduceAction193(131),
-                       new ReduceAction194(131),
-                       new ReduceAction195(131),
-                       new ReduceAction196(131),
-                       new ReduceAction197(131),
-                       new ReduceAction196(131),
-                       new ReduceAction199(131),
-                       new ReduceAction200(131),
-                       new ReduceAction199(131),
-                       new ReduceAction202(131),
-                       new ReduceAction209(132),
-                       new ReduceAction210(132),
-                       new ReduceAction211(132),
-                       new ReduceAction212(132),
-                       new ReduceAction213(132),
-                       new ReduceAction214(132),
-                       new ReduceAction215(132),
-                       new ReduceAction216(132),
-                       new ReduceAction213(132),
-                       new ReduceAction214(132),
-                       new ReduceAction219(132),
-                       new ReduceAction220(132),
-                       new ReduceAction221(132),
-                       new ReduceAction222(132),
-                       new ReduceAction223(132),
-                       new ReduceAction224(132),
-                       new ReduceAction221(132),
-                       new ReduceAction222(132),
-                       new ReduceAction227(132),
-                       new ReduceAction228(132),
-                       new ReduceAction229(132),
-                       new ReduceAction230(132),
-                       new ReduceAction231(132),
-                       new ReduceAction232(132),
-                       new ReduceAction233(132),
-                       new ReduceAction234(132),
-                       new ReduceAction235(132),
-                       new ReduceAction232(132),
-                       new ReduceAction233(132),
-                       new ReduceAction238(132),
-                       new ReduceAction239(132),
-                       new ReduceAction240(132),
-                       new ReduceAction241(132),
-                       new ReduceAction242(132),
-                       new ReduceAction243(132),
-                       new ReduceAction240(132),
-                       new ReduceAction241(132),
-                       new ReduceAction246(132),
-                       new ReduceAction162(133),
-                       new ReduceAction270(133),
-                       new ReduceAction162(134),
-                       new ReduceAction272(134),
-                       new ReduceAction273(134),
-                       new ReduceAction274(134),
-                       new ReduceAction275(134),
-                       new ReduceAction162(135),
-                       new ReduceAction277(135),
-                       new ReduceAction162(136),
-                       new ReduceAction279(136),
-                       new ReduceAction280(136),
-                       new ReduceAction281(136),
-                       new ReduceAction282(136),
-                       new ReduceAction283(136),
-                       new ReduceAction284(136),
-                       new ReduceAction285(136),
-                       new ReduceAction286(136),
-                       new ReduceAction287(136),
-                       new ReduceAction288(136),
-                       new ReduceAction162(137),
-                       new ReduceAction290(137),
-                       new ReduceAction291(137),
-                       new ReduceAction162(138),
-                       new ReduceAction293(138),
-                       new ReduceAction294(138),
-                       new ReduceAction295(138),
-                       new ReduceAction162(139),
-                       new ReduceAction297(139),
-                       new ReduceAction162(140),
-                       new ReduceAction299(140),
-                       new ReduceAction300(140),
-                       new ReduceAction162(141),
-                       new ReduceAction302(141),
-                       new ReduceAction303(141),
-                       new ReduceAction304(141),
-                       new ReduceAction305(141),
-                       new ReduceAction162(142),
-                       new ReduceAction307(142),
-                       new ReduceAction308(142),
-                       new ReduceAction185(142),
-                       new ReduceAction310(142),
-                       new ReduceAction186(142),
-                       new ReduceAction312(142),
-                       new ReduceAction187(142),
-                       new ReduceAction314(142),
-                       new ReduceAction186(142),
-                       new ReduceAction312(142),
-                       new ReduceAction189(142),
-                       new ReduceAction318(142),
-                       new ReduceAction190(142),
-                       new ReduceAction320(142),
-                       new ReduceAction191(142),
-                       new ReduceAction322(142),
-                       new ReduceAction190(142),
-                       new ReduceAction320(142),
-                       new ReduceAction193(142),
-                       new ReduceAction326(142),
-                       new ReduceAction194(142),
-                       new ReduceAction328(142),
-                       new ReduceAction195(142),
-                       new ReduceAction330(142),
-                       new ReduceAction331(142),
-                       new ReduceAction332(142),
-                       new ReduceAction333(142),
-                       new ReduceAction334(142),
-                       new ReduceAction335(142),
-                       new ReduceAction336(142),
-                       new ReduceAction337(142),
-                       new ReduceAction334(142),
-                       new ReduceAction335(142),
-                       new ReduceAction340(142),
-                       new ReduceAction341(142),
-                       new ReduceAction342(142),
-                       new ReduceAction343(142),
-                       new ReduceAction344(143),
-                       new ReduceAction345(143),
-                       new ReduceAction346(143),
-                       new ReduceAction347(143),
-                       new ReduceAction348(143),
-                       new ReduceAction349(143),
-                       new ReduceAction350(143),
-                       new ReduceAction351(143),
-                       new ReduceAction352(143),
-                       new ReduceAction162(143),
-                       new ReduceAction377(144),
-                       new ReduceAction378(144),
-                       new ReduceAction379(145),
-                       new ReduceAction22(145),
-                       new ReduceAction381(146),
-                       new ReduceAction381(147),
-                       new ReduceAction362(148),
-                       new ReduceAction363(148),
-                       new ReduceAction405(149),
-                       new ReduceAction162(149),
-                       new ReduceAction162(149),
-                       new ReduceAction408(149),
-                       new ReduceAction409(149),
-                       new ReduceAction149(150),
-                       new ReduceAction150(150),
-                       new ReduceAction162(151),
-                       new ReduceAction270(151),
-                       new ReduceAction162(152),
-                       new ReduceAction272(152),
-                       new ReduceAction273(152),
-                       new ReduceAction274(152),
-                       new ReduceAction275(152),
-                       new ReduceAction162(153),
-                       new ReduceAction277(153),
-                       new ReduceAction162(154),
-                       new ReduceAction279(154),
-                       new ReduceAction280(154),
-                       new ReduceAction281(154),
-                       new ReduceAction282(154),
-                       new ReduceAction283(154),
-                       new ReduceAction284(154),
-                       new ReduceAction285(154),
-                       new ReduceAction286(154),
-                       new ReduceAction287(154),
-                       new ReduceAction288(154),
-                       new ReduceAction162(155),
-                       new ReduceAction290(155),
-                       new ReduceAction291(155),
-                       new ReduceAction162(156),
-                       new ReduceAction293(156),
-                       new ReduceAction294(156),
-                       new ReduceAction295(156),
-                       new ReduceAction162(157),
-                       new ReduceAction297(157),
-                       new ReduceAction162(158),
-                       new ReduceAction299(158),
-                       new ReduceAction300(158),
-                       new ReduceAction162(159),
-                       new ReduceAction302(159),
-                       new ReduceAction303(159),
-                       new ReduceAction786(159),
-                       new ReduceAction162(160),
-                       new ReduceAction788(160),
-                       new ReduceAction789(160),
-                       new ReduceAction790(160),
-                       new ReduceAction791(160),
-                       new ReduceAction792(160),
-                       new ReduceAction185(160),
-                       new ReduceAction310(160),
-                       new ReduceAction791(160),
-                       new ReduceAction792(160),
-                       new ReduceAction193(160),
-                       new ReduceAction326(160),
-                       new ReduceAction799(160),
-                       new ReduceAction800(160),
-                       new ReduceAction332(160),
-                       new ReduceAction333(160),
-                       new ReduceAction334(160),
-                       new ReduceAction335(160),
-                       new ReduceAction336(160),
-                       new ReduceAction337(160),
-                       new ReduceAction334(160),
-                       new ReduceAction335(160),
-                       new ReduceAction340(160),
-                       new ReduceAction341(160),
-                       new ReduceAction342(160),
-                       new ReduceAction343(160),
-                       new ReduceAction344(161),
-                       new ReduceAction345(161),
-                       new ReduceAction346(161),
-                       new ReduceAction347(161),
-                       new ReduceAction348(161),
-                       new ReduceAction349(161),
-                       new ReduceAction350(161),
-                       new ReduceAction351(161),
-                       new ReduceAction352(161),
-                       new ReduceAction162(161),
-                       new ReduceAction823(162),
-                       new ReduceAction824(162),
-                       new ReduceAction159(163),
-                       new ReduceAction160(163),
-                       new ReduceAction161(163),
-                       new ReduceAction162(163),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction172(164),
-                       new ReduceAction173(164),
-                       new ReduceAction174(164),
-                       new ReduceAction175(164),
-                       new ReduceAction176(164),
-                       new ReduceAction177(164),
-                       new ReduceAction178(164),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction162(164),
-                       new ReduceAction185(164),
-                       new ReduceAction186(164),
-                       new ReduceAction187(164),
-                       new ReduceAction186(164),
-                       new ReduceAction189(164),
-                       new ReduceAction190(164),
-                       new ReduceAction191(164),
-                       new ReduceAction190(164),
-                       new ReduceAction193(164),
-                       new ReduceAction194(164),
-                       new ReduceAction195(164),
-                       new ReduceAction196(164),
-                       new ReduceAction197(164),
-                       new ReduceAction196(164),
-                       new ReduceAction199(164),
-                       new ReduceAction200(164),
-                       new ReduceAction199(164),
-                       new ReduceAction202(164),
-                       new ReduceAction249(165),
-                       new ReduceAction250(165),
-                       new ReduceAction251(166),
-                       new ReduceAction258(167),
-                       new ReduceAction259(167),
-                       new ReduceAction260(168),
-                       new ReduceAction261(168),
-                       new ReduceAction262(169),
-                       new ReduceAction263(169),
-                       new ReduceAction264(170),
-                       new ReduceAction265(170),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction172(171),
-                       new ReduceAction173(171),
-                       new ReduceAction174(171),
-                       new ReduceAction175(171),
-                       new ReduceAction176(171),
-                       new ReduceAction177(171),
-                       new ReduceAction178(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction185(171),
-                       new ReduceAction186(171),
-                       new ReduceAction187(171),
-                       new ReduceAction186(171),
-                       new ReduceAction189(171),
-                       new ReduceAction190(171),
-                       new ReduceAction191(171),
-                       new ReduceAction190(171),
-                       new ReduceAction193(171),
-                       new ReduceAction194(171),
-                       new ReduceAction195(171),
-                       new ReduceAction196(171),
-                       new ReduceAction197(171),
-                       new ReduceAction196(171),
-                       new ReduceAction199(171),
-                       new ReduceAction200(171),
-                       new ReduceAction199(171),
-                       new ReduceAction202(171),
+                       new ReduceAction461(109),
+                       new ReduceAction462(109),
+                       new ReduceAction463(109),
+                       new ReduceAction462(109),
+                       new ReduceAction465(110),
+                       new ReduceAction466(110),
+                       new ReduceAction467(110),
+                       new ReduceAction466(110),
+                       new ReduceAction469(111),
+                       new ReduceAction470(112),
+                       new ReduceAction22(113),
+                       new ReduceAction472(113),
+                       new ReduceAction473(114),
+                       new ReduceAction473(114),
+                       new ReduceAction473(114),
+                       new ReduceAction476(115),
+                       new ReduceAction477(115),
+                       new ReduceAction23(115),
+                       new ReduceAction23(115),
+                       new ReduceAction480(115),
+                       new ReduceAction480(115),
+                       new ReduceAction482(115),
+                       new ReduceAction483(115),
+                       new ReduceAction484(115),
+                       new ReduceAction484(115),
+                       new ReduceAction486(115),
+                       new ReduceAction22(116),
+                       new ReduceAction488(116),
+                       new ReduceAction489(117),
+                       new ReduceAction473(117),
+                       new ReduceAction473(118),
+                       new ReduceAction492(118),
+                       new ReduceAction48(119),
+                       new ReduceAction49(119),
+                       new ReduceAction50(119),
+                       new ReduceAction57(119),
+                       new ReduceAction58(119),
+                       new ReduceAction76(120),
+                       new ReduceAction77(120),
+                       new ReduceAction86(121),
+                       new ReduceAction87(121),
+                       new ReduceAction88(121),
+                       new ReduceAction89(121),
+                       new ReduceAction90(121),
+                       new ReduceAction91(121),
+                       new ReduceAction92(121),
+                       new ReduceAction93(121),
+                       new ReduceAction94(121),
+                       new ReduceAction95(121),
+                       new ReduceAction96(121),
+                       new ReduceAction97(121),
+                       new ReduceAction98(121),
+                       new ReduceAction99(121),
+                       new ReduceAction100(121),
+                       new ReduceAction101(121),
+                       new ReduceAction102(121),
+                       new ReduceAction103(121),
+                       new ReduceAction104(121),
+                       new ReduceAction105(121),
+                       new ReduceAction106(121),
+                       new ReduceAction107(121),
+                       new ReduceAction465(122),
+                       new ReduceAction466(122),
+                       new ReduceAction467(122),
+                       new ReduceAction466(122),
+                       new ReduceAction146(123),
+                       new ReduceAction147(123),
+                       new ReduceAction159(124),
+                       new ReduceAction284(124),
+                       new ReduceAction159(125),
+                       new ReduceAction286(125),
+                       new ReduceAction287(125),
+                       new ReduceAction288(125),
+                       new ReduceAction289(125),
+                       new ReduceAction159(126),
+                       new ReduceAction291(126),
+                       new ReduceAction159(127),
+                       new ReduceAction293(127),
+                       new ReduceAction294(127),
+                       new ReduceAction295(127),
+                       new ReduceAction296(127),
+                       new ReduceAction297(127),
+                       new ReduceAction298(127),
+                       new ReduceAction299(127),
+                       new ReduceAction300(127),
+                       new ReduceAction159(128),
+                       new ReduceAction302(128),
+                       new ReduceAction159(129),
+                       new ReduceAction304(129),
+                       new ReduceAction159(130),
+                       new ReduceAction306(130),
+                       new ReduceAction159(131),
+                       new ReduceAction308(131),
+                       new ReduceAction309(131),
+                       new ReduceAction159(132),
+                       new ReduceAction311(132),
+                       new ReduceAction312(132),
+                       new ReduceAction159(133),
+                       new ReduceAction314(133),
+                       new ReduceAction315(133),
+                       new ReduceAction316(133),
+                       new ReduceAction159(134),
+                       new ReduceAction318(134),
+                       new ReduceAction159(135),
+                       new ReduceAction320(135),
+                       new ReduceAction321(135),
+                       new ReduceAction322(135),
+                       new ReduceAction323(135),
+                       new ReduceAction159(136),
+                       new ReduceAction325(136),
+                       new ReduceAction326(136),
+                       new ReduceAction327(136),
+                       new ReduceAction328(136),
+                       new ReduceAction159(137),
+                       new ReduceAction330(137),
+                       new ReduceAction331(137),
+                       new ReduceAction183(137),
+                       new ReduceAction187(137),
+                       new ReduceAction333(137),
+                       new ReduceAction341(137),
+                       new ReduceAction184(137),
+                       new ReduceAction188(137),
+                       new ReduceAction335(137),
+                       new ReduceAction343(137),
+                       new ReduceAction185(137),
+                       new ReduceAction189(137),
+                       new ReduceAction337(137),
+                       new ReduceAction345(137),
+                       new ReduceAction184(137),
+                       new ReduceAction188(137),
+                       new ReduceAction335(137),
+                       new ReduceAction343(137),
+                       new ReduceAction191(137),
+                       new ReduceAction349(137),
+                       new ReduceAction192(137),
+                       new ReduceAction193(137),
+                       new ReduceAction351(137),
+                       new ReduceAction353(137),
+                       new ReduceAction355(137),
+                       new ReduceAction356(137),
+                       new ReduceAction357(137),
+                       new ReduceAction358(137),
+                       new ReduceAction359(137),
+                       new ReduceAction360(137),
+                       new ReduceAction357(137),
+                       new ReduceAction358(137),
+                       new ReduceAction363(137),
+                       new ReduceAction364(137),
+                       new ReduceAction365(137),
+                       new ReduceAction159(138),
+                       new ReduceAction367(138),
+                       new ReduceAction368(138),
+                       new ReduceAction369(139),
+                       new ReduceAction370(139),
+                       new ReduceAction371(139),
+                       new ReduceAction372(139),
+                       new ReduceAction373(139),
+                       new ReduceAction374(139),
+                       new ReduceAction375(139),
+                       new ReduceAction376(139),
+                       new ReduceAction377(139),
+                       new ReduceAction378(139),
+                       new ReduceAction379(139),
+                       new ReduceAction159(139),
+                       new ReduceAction159(139),
+                       new ReduceAction146(140),
+                       new ReduceAction147(140),
+                       new ReduceAction148(140),
+                       new ReduceAction149(140),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction169(141),
+                       new ReduceAction170(141),
+                       new ReduceAction171(141),
+                       new ReduceAction172(141),
+                       new ReduceAction173(141),
+                       new ReduceAction174(141),
+                       new ReduceAction175(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction159(141),
+                       new ReduceAction183(141),
+                       new ReduceAction184(141),
+                       new ReduceAction185(141),
+                       new ReduceAction184(141),
+                       new ReduceAction187(141),
+                       new ReduceAction188(141),
+                       new ReduceAction189(141),
+                       new ReduceAction188(141),
+                       new ReduceAction191(141),
+                       new ReduceAction192(141),
+                       new ReduceAction193(141),
+                       new ReduceAction194(141),
+                       new ReduceAction195(141),
+                       new ReduceAction194(141),
+                       new ReduceAction197(141),
+                       new ReduceAction198(141),
+                       new ReduceAction197(141),
+                       new ReduceAction200(141),
+                       new ReduceAction207(142),
+                       new ReduceAction208(142),
+                       new ReduceAction209(142),
+                       new ReduceAction210(142),
+                       new ReduceAction211(142),
+                       new ReduceAction212(142),
+                       new ReduceAction213(142),
+                       new ReduceAction214(142),
+                       new ReduceAction211(142),
+                       new ReduceAction212(142),
+                       new ReduceAction217(142),
+                       new ReduceAction218(142),
+                       new ReduceAction219(142),
+                       new ReduceAction220(142),
+                       new ReduceAction221(142),
+                       new ReduceAction222(142),
+                       new ReduceAction219(142),
+                       new ReduceAction220(142),
+                       new ReduceAction225(142),
+                       new ReduceAction226(142),
+                       new ReduceAction227(142),
+                       new ReduceAction228(142),
+                       new ReduceAction229(142),
+                       new ReduceAction230(142),
+                       new ReduceAction231(142),
+                       new ReduceAction232(142),
+                       new ReduceAction233(142),
+                       new ReduceAction230(142),
+                       new ReduceAction231(142),
+                       new ReduceAction236(142),
+                       new ReduceAction237(142),
+                       new ReduceAction238(142),
+                       new ReduceAction239(142),
+                       new ReduceAction240(142),
+                       new ReduceAction241(142),
+                       new ReduceAction238(142),
+                       new ReduceAction239(142),
+                       new ReduceAction244(142),
+                       new ReduceAction159(143),
+                       new ReduceAction284(143),
+                       new ReduceAction159(144),
+                       new ReduceAction286(144),
+                       new ReduceAction287(144),
+                       new ReduceAction288(144),
+                       new ReduceAction289(144),
+                       new ReduceAction159(145),
+                       new ReduceAction291(145),
+                       new ReduceAction159(146),
+                       new ReduceAction293(146),
+                       new ReduceAction294(146),
+                       new ReduceAction295(146),
+                       new ReduceAction296(146),
+                       new ReduceAction297(146),
+                       new ReduceAction298(146),
+                       new ReduceAction299(146),
+                       new ReduceAction300(146),
+                       new ReduceAction159(147),
+                       new ReduceAction302(147),
+                       new ReduceAction159(148),
+                       new ReduceAction304(148),
+                       new ReduceAction159(149),
+                       new ReduceAction306(149),
+                       new ReduceAction159(150),
+                       new ReduceAction308(150),
+                       new ReduceAction309(150),
+                       new ReduceAction159(151),
+                       new ReduceAction311(151),
+                       new ReduceAction312(151),
+                       new ReduceAction159(152),
+                       new ReduceAction314(152),
+                       new ReduceAction315(152),
+                       new ReduceAction316(152),
+                       new ReduceAction159(153),
+                       new ReduceAction318(153),
+                       new ReduceAction159(154),
+                       new ReduceAction320(154),
+                       new ReduceAction321(154),
+                       new ReduceAction322(154),
+                       new ReduceAction323(154),
+                       new ReduceAction159(155),
+                       new ReduceAction325(155),
+                       new ReduceAction326(155),
+                       new ReduceAction327(155),
+                       new ReduceAction328(155),
+                       new ReduceAction159(156),
+                       new ReduceAction330(156),
+                       new ReduceAction331(156),
+                       new ReduceAction183(156),
+                       new ReduceAction333(156),
+                       new ReduceAction184(156),
+                       new ReduceAction335(156),
+                       new ReduceAction185(156),
+                       new ReduceAction337(156),
+                       new ReduceAction184(156),
+                       new ReduceAction335(156),
+                       new ReduceAction187(156),
+                       new ReduceAction341(156),
+                       new ReduceAction188(156),
+                       new ReduceAction343(156),
+                       new ReduceAction189(156),
+                       new ReduceAction345(156),
+                       new ReduceAction188(156),
+                       new ReduceAction343(156),
+                       new ReduceAction191(156),
+                       new ReduceAction349(156),
+                       new ReduceAction192(156),
+                       new ReduceAction351(156),
+                       new ReduceAction193(156),
+                       new ReduceAction353(156),
+                       new ReduceAction354(156),
+                       new ReduceAction355(156),
+                       new ReduceAction356(156),
+                       new ReduceAction357(156),
+                       new ReduceAction358(156),
+                       new ReduceAction359(156),
+                       new ReduceAction360(156),
+                       new ReduceAction357(156),
+                       new ReduceAction358(156),
+                       new ReduceAction363(156),
+                       new ReduceAction364(156),
+                       new ReduceAction365(156),
+                       new ReduceAction159(157),
+                       new ReduceAction367(157),
+                       new ReduceAction368(157),
+                       new ReduceAction369(158),
+                       new ReduceAction370(158),
+                       new ReduceAction371(158),
+                       new ReduceAction372(158),
+                       new ReduceAction373(158),
+                       new ReduceAction374(158),
+                       new ReduceAction375(158),
+                       new ReduceAction376(158),
+                       new ReduceAction377(158),
+                       new ReduceAction378(158),
+                       new ReduceAction379(158),
+                       new ReduceAction159(158),
+                       new ReduceAction404(159),
+                       new ReduceAction405(159),
+                       new ReduceAction406(160),
+                       new ReduceAction22(160),
+                       new ReduceAction408(161),
+                       new ReduceAction408(162),
+                       new ReduceAction389(163),
+                       new ReduceAction390(163),
+                       new ReduceAction430(164),
+                       new ReduceAction159(164),
+                       new ReduceAction159(164),
+                       new ReduceAction433(164),
+                       new ReduceAction434(164),
+                       new ReduceAction146(165),
+                       new ReduceAction147(165),
+                       new ReduceAction159(166),
+                       new ReduceAction284(166),
+                       new ReduceAction159(167),
+                       new ReduceAction286(167),
+                       new ReduceAction287(167),
+                       new ReduceAction288(167),
+                       new ReduceAction289(167),
+                       new ReduceAction159(168),
+                       new ReduceAction291(168),
+                       new ReduceAction159(169),
+                       new ReduceAction293(169),
+                       new ReduceAction294(169),
+                       new ReduceAction295(169),
+                       new ReduceAction296(169),
+                       new ReduceAction297(169),
+                       new ReduceAction298(169),
+                       new ReduceAction299(169),
+                       new ReduceAction300(169),
+                       new ReduceAction159(170),
+                       new ReduceAction302(170),
+                       new ReduceAction159(171),
+                       new ReduceAction304(171),
                        new ReduceAction159(172),
-                       new ReduceAction160(172),
-                       new ReduceAction161(172),
+                       new ReduceAction306(172),
                        new ReduceAction159(173),
-                       new ReduceAction160(173),
-                       new ReduceAction161(173),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction172(174),
-                       new ReduceAction173(174),
-                       new ReduceAction174(174),
-                       new ReduceAction175(174),
-                       new ReduceAction176(174),
-                       new ReduceAction177(174),
-                       new ReduceAction178(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction202(174),
-                       new ReduceAction162(175),
-                       new ReduceAction162(175),
-                       new ReduceAction172(175),
-                       new ReduceAction173(175),
-                       new ReduceAction174(175),
-                       new ReduceAction175(175),
-                       new ReduceAction176(175),
-                       new ReduceAction177(175),
-                       new ReduceAction178(175),
-                       new ReduceAction162(175),
-                       new ReduceAction162(175),
-                       new ReduceAction162(175),
-                       new ReduceAction162(175),
-                       new ReduceAction162(175),
-                       new ReduceAction202(175),
-                       new ReduceAction162(176),
-                       new ReduceAction162(176),
-                       new ReduceAction172(176),
-                       new ReduceAction173(176),
-                       new ReduceAction174(176),
-                       new ReduceAction175(176),
-                       new ReduceAction176(176),
-                       new ReduceAction177(176),
-                       new ReduceAction178(176),
-                       new ReduceAction162(176),
-                       new ReduceAction162(176),
-                       new ReduceAction162(176),
-                       new ReduceAction162(176),
-                       new ReduceAction162(176),
-                       new ReduceAction202(176),
-                       new ReduceAction162(177),
-                       new ReduceAction162(177),
-                       new ReduceAction172(177),
-                       new ReduceAction173(177),
-                       new ReduceAction174(177),
-                       new ReduceAction175(177),
-                       new ReduceAction176(177),
-                       new ReduceAction177(177),
-                       new ReduceAction178(177),
-                       new ReduceAction162(177),
-                       new ReduceAction162(177),
-                       new ReduceAction162(177),
-                       new ReduceAction162(177),
-                       new ReduceAction162(177),
-                       new ReduceAction202(177),
-                       new ReduceAction411(178),
-                       new ReduceAction413(178),
-                       new ReduceAction974(179),
-                       new ReduceAction975(179),
-                       new ReduceAction976(180),
-                       new ReduceAction977(180),
-                       new ReduceAction978(181),
-                       new ReduceAction979(181),
-                       new ReduceAction980(182),
-                       new ReduceAction981(182),
-                       new ReduceAction982(183),
-                       new ReduceAction983(183),
-                       new ReduceAction984(184),
-                       new ReduceAction985(184),
-                       new ReduceAction986(185),
-                       new ReduceAction987(185),
-                       new ReduceAction988(186),
-                       new ReduceAction989(186),
-                       new ReduceAction153(187),
-                       new ReduceAction991(187),
-                       new ReduceAction362(188),
-                       new ReduceAction993(188),
-                       new ReduceAction362(189),
-                       new ReduceAction993(189),
-                       new ReduceAction362(190),
-                       new ReduceAction993(190),
-                       new ReduceAction426(191),
-                       new ReduceAction999(191),
-                       new ReduceAction384(192),
-                       new ReduceAction1001(192),
-                       new ReduceAction384(193),
-                       new ReduceAction1001(193),
-                       new ReduceAction384(194),
-                       new ReduceAction1001(194),
-                       new ReduceAction362(195),
-                       new ReduceAction993(195),
-                       new ReduceAction362(196),
-                       new ReduceAction993(196),
-                       new ReduceAction427(197),
-                       new ReduceAction1011(197),
-                       new ReduceAction1012(198),
-                       new ReduceAction1013(198),
-                       new ReduceAction1014(199),
-                       new ReduceAction1015(199)
+                       new ReduceAction308(173),
+                       new ReduceAction309(173),
+                       new ReduceAction159(174),
+                       new ReduceAction311(174),
+                       new ReduceAction312(174),
+                       new ReduceAction159(175),
+                       new ReduceAction314(175),
+                       new ReduceAction315(175),
+                       new ReduceAction316(175),
+                       new ReduceAction159(176),
+                       new ReduceAction318(176),
+                       new ReduceAction159(177),
+                       new ReduceAction320(177),
+                       new ReduceAction321(177),
+                       new ReduceAction322(177),
+                       new ReduceAction323(177),
+                       new ReduceAction159(178),
+                       new ReduceAction325(178),
+                       new ReduceAction326(178),
+                       new ReduceAction859(178),
+                       new ReduceAction159(179),
+                       new ReduceAction861(179),
+                       new ReduceAction862(179),
+                       new ReduceAction863(179),
+                       new ReduceAction864(179),
+                       new ReduceAction865(179),
+                       new ReduceAction183(179),
+                       new ReduceAction333(179),
+                       new ReduceAction864(179),
+                       new ReduceAction865(179),
+                       new ReduceAction191(179),
+                       new ReduceAction349(179),
+                       new ReduceAction872(179),
+                       new ReduceAction873(179),
+                       new ReduceAction355(179),
+                       new ReduceAction356(179),
+                       new ReduceAction357(179),
+                       new ReduceAction358(179),
+                       new ReduceAction359(179),
+                       new ReduceAction360(179),
+                       new ReduceAction357(179),
+                       new ReduceAction358(179),
+                       new ReduceAction363(179),
+                       new ReduceAction364(179),
+                       new ReduceAction365(179),
+                       new ReduceAction159(180),
+                       new ReduceAction367(180),
+                       new ReduceAction368(180),
+                       new ReduceAction369(181),
+                       new ReduceAction370(181),
+                       new ReduceAction371(181),
+                       new ReduceAction372(181),
+                       new ReduceAction373(181),
+                       new ReduceAction374(181),
+                       new ReduceAction375(181),
+                       new ReduceAction376(181),
+                       new ReduceAction377(181),
+                       new ReduceAction378(181),
+                       new ReduceAction379(181),
+                       new ReduceAction159(181),
+                       new ReduceAction900(182),
+                       new ReduceAction901(182),
+                       new ReduceAction156(183),
+                       new ReduceAction157(183),
+                       new ReduceAction158(183),
+                       new ReduceAction159(183),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction169(184),
+                       new ReduceAction170(184),
+                       new ReduceAction171(184),
+                       new ReduceAction172(184),
+                       new ReduceAction173(184),
+                       new ReduceAction174(184),
+                       new ReduceAction175(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction159(184),
+                       new ReduceAction183(184),
+                       new ReduceAction184(184),
+                       new ReduceAction185(184),
+                       new ReduceAction184(184),
+                       new ReduceAction187(184),
+                       new ReduceAction188(184),
+                       new ReduceAction189(184),
+                       new ReduceAction188(184),
+                       new ReduceAction191(184),
+                       new ReduceAction192(184),
+                       new ReduceAction193(184),
+                       new ReduceAction194(184),
+                       new ReduceAction195(184),
+                       new ReduceAction194(184),
+                       new ReduceAction197(184),
+                       new ReduceAction198(184),
+                       new ReduceAction197(184),
+                       new ReduceAction200(184),
+                       new ReduceAction256(185),
+                       new ReduceAction257(185),
+                       new ReduceAction258(186),
+                       new ReduceAction267(187),
+                       new ReduceAction268(187),
+                       new ReduceAction269(188),
+                       new ReduceAction270(188),
+                       new ReduceAction271(189),
+                       new ReduceAction272(189),
+                       new ReduceAction273(190),
+                       new ReduceAction274(190),
+                       new ReduceAction278(191),
+                       new ReduceAction279(191),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction169(192),
+                       new ReduceAction170(192),
+                       new ReduceAction171(192),
+                       new ReduceAction172(192),
+                       new ReduceAction173(192),
+                       new ReduceAction174(192),
+                       new ReduceAction175(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction159(192),
+                       new ReduceAction183(192),
+                       new ReduceAction184(192),
+                       new ReduceAction185(192),
+                       new ReduceAction184(192),
+                       new ReduceAction187(192),
+                       new ReduceAction188(192),
+                       new ReduceAction189(192),
+                       new ReduceAction188(192),
+                       new ReduceAction191(192),
+                       new ReduceAction192(192),
+                       new ReduceAction193(192),
+                       new ReduceAction194(192),
+                       new ReduceAction195(192),
+                       new ReduceAction194(192),
+                       new ReduceAction197(192),
+                       new ReduceAction198(192),
+                       new ReduceAction197(192),
+                       new ReduceAction200(192),
+                       new ReduceAction156(193),
+                       new ReduceAction157(193),
+                       new ReduceAction158(193),
+                       new ReduceAction156(194),
+                       new ReduceAction157(194),
+                       new ReduceAction158(194),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction169(195),
+                       new ReduceAction170(195),
+                       new ReduceAction171(195),
+                       new ReduceAction172(195),
+                       new ReduceAction173(195),
+                       new ReduceAction174(195),
+                       new ReduceAction175(195),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction159(195),
+                       new ReduceAction200(195),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction169(196),
+                       new ReduceAction170(196),
+                       new ReduceAction171(196),
+                       new ReduceAction172(196),
+                       new ReduceAction173(196),
+                       new ReduceAction174(196),
+                       new ReduceAction175(196),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction159(196),
+                       new ReduceAction200(196),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction169(197),
+                       new ReduceAction170(197),
+                       new ReduceAction171(197),
+                       new ReduceAction172(197),
+                       new ReduceAction173(197),
+                       new ReduceAction174(197),
+                       new ReduceAction175(197),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction159(197),
+                       new ReduceAction200(197),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction169(198),
+                       new ReduceAction170(198),
+                       new ReduceAction171(198),
+                       new ReduceAction172(198),
+                       new ReduceAction173(198),
+                       new ReduceAction174(198),
+                       new ReduceAction175(198),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction159(198),
+                       new ReduceAction200(198),
+                       new ReduceAction436(199),
+                       new ReduceAction438(199),
+                       new ReduceAction476(200),
+                       new ReduceAction477(200),
+                       new ReduceAction23(200),
+                       new ReduceAction1062(201),
+                       new ReduceAction1063(201),
+                       new ReduceAction1064(202),
+                       new ReduceAction1065(202),
+                       new ReduceAction1066(203),
+                       new ReduceAction1067(203),
+                       new ReduceAction37(204),
+                       new ReduceAction1069(204),
+                       new ReduceAction45(205),
+                       new ReduceAction1071(205),
+                       new ReduceAction410(206),
+                       new ReduceAction1073(206),
+                       new ReduceAction1074(207),
+                       new ReduceAction1075(207),
+                       new ReduceAction1076(208),
+                       new ReduceAction1077(208),
+                       new ReduceAction150(209),
+                       new ReduceAction1079(209),
+                       new ReduceAction389(210),
+                       new ReduceAction1081(210),
+                       new ReduceAction389(211),
+                       new ReduceAction1081(211),
+                       new ReduceAction389(212),
+                       new ReduceAction1081(212),
+                       new ReduceAction450(213),
+                       new ReduceAction1087(213),
+                       new ReduceAction410(214),
+                       new ReduceAction1073(214),
+                       new ReduceAction389(215),
+                       new ReduceAction1081(215),
+                       new ReduceAction389(216),
+                       new ReduceAction1081(216),
+                       new ReduceAction451(217),
+                       new ReduceAction1095(217),
+                       new ReduceAction1096(218),
+                       new ReduceAction1097(218),
+                       new ReduceAction473(219),
+                       new ReduceAction492(219)
                )
        end
 end
@@ -1645,6 +1729,7 @@ private class ReduceAction20
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var ppropdefnode2 = nodearraylist1
@@ -1719,7 +1804,6 @@ private class ReduceAction26
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
                                        var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
@@ -1729,7 +1813,6 @@ private class ReduceAction26
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -1741,10 +1824,10 @@ private class ReduceAction26
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var tkwendnode13 = nodearraylist9
+                                       var listnode11 = nodearraylist7
+                                       assert listnode11 isa Array[Object]
+                                       listnode12 = concat(listnode12, listnode11)
+                                       var tkwendnode13 = nodearraylist8
                                        assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
@@ -1752,10 +1835,10 @@ private class ReduceAction26
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
+                                               null,
                                                listnode8,
                                                null,
                                                null,
-                                               listnode11,
                                                listnode12,
                                                tkwendnode13
                                        )
@@ -1768,67 +1851,6 @@ private class ReduceAction27
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var tkwendnode18 = nodearraylist10
-                                       assert tkwendnode18 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode16,
-                                               listnode17,
-                                               tkwendnode18
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction28
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
                                        var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
@@ -1839,7 +1861,6 @@ private class ReduceAction28
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -1851,215 +1872,36 @@ private class ReduceAction28
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
+                                       var pexterncodeblocknode10 = nodearraylist7
                                        assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var tkwendnode13 = nodearraylist10
-                                       assert tkwendnode13 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode11,
-                                               listnode12,
-                                               tkwendnode13
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction29
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var tkwendnode18 = nodearraylist11
-                                       assert tkwendnode18 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode16,
-                                               listnode17,
-                                               tkwendnode18
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction30
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
                                        var listnode11 = nodearraylist8
                                        assert listnode11 isa Array[Object]
                                        listnode12 = concat(listnode12, listnode11)
-                                       var tkwendnode14 = nodearraylist10
-                                       assert tkwendnode14 isa nullable TKwend
+                                       var tkwendnode13 = nodearraylist9
+                                       assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode12,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction31
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
                                                null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode16 = nodearraylist9
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var tkwendnode19 = nodearraylist11
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
                                                listnode8,
-                                               pannotationsnode9,
                                                null,
-                                               listnode17,
-                                               listnode18,
-                                               tkwendnode19
+                                               pexterncodeblocknode10,
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction32
+private class ReduceAction28
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist12 = p.pop
                                        var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
@@ -2071,8 +1913,7 @@ private class ReduceAction32
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
+                                       var listnode9 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -2081,529 +1922,39 @@ private class ReduceAction32
                                        var pvisibilitynode4 = nodearraylist3
                                        assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode11 = nodearraylist9
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var tkwendnode14 = nodearraylist11
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode12,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction33
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode16 = nodearraylist10
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var tkwendnode19 = nodearraylist12
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode17,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction34
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var tkwendnode14 = nodearraylist10
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode11,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction35
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode17 = nodearraylist9
-                                       assert listnode17 isa Array[Object]
-                                       listnode18 = concat(listnode18, listnode17)
-                                       var tkwendnode19 = nodearraylist11
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode16,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction36
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode12 = nodearraylist9
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var tkwendnode14 = nodearraylist11
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode11,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction37
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode17 = nodearraylist10
-                                       assert listnode17 isa Array[Object]
-                                       listnode18 = concat(listnode18, listnode17)
-                                       var tkwendnode19 = nodearraylist12
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode16,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction38
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode14 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode11 = nodearraylist8
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var listnode13 = nodearraylist9
-                                       assert listnode13 isa Array[Object]
-                                       listnode14 = concat(listnode14, listnode13)
-                                       var tkwendnode15 = nodearraylist11
-                                       assert tkwendnode15 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode12,
-                                               listnode14,
-                                               tkwendnode15
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction39
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode19 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode16 = nodearraylist9
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var listnode18 = nodearraylist10
-                                       assert listnode18 isa Array[Object]
-                                       listnode19 = concat(listnode19, listnode18)
-                                       var tkwendnode20 = nodearraylist12
-                                       assert tkwendnode20 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode17,
-                                               listnode19,
-                                               tkwendnode20
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction40
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode14 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode11 = nodearraylist9
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var listnode13 = nodearraylist10
-                                       assert listnode13 isa Array[Object]
-                                       listnode14 = concat(listnode14, listnode13)
-                                       var tkwendnode15 = nodearraylist12
-                                       assert tkwendnode15 isa nullable TKwend
+                                       assert pclasskindnode5 isa nullable AClasskind
+                                       var tclassidnode6 = nodearraylist6
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var tobranode7 = nodearraylist7
+                                       assert tobranode7 isa nullable TObra
+                                       var listnode8 = nodearraylist9
+                                       assert listnode8 isa Array[Object]
+                                       listnode9 = concat(listnode9, listnode8)
+                                       var tcbranode10 = nodearraylist10
+                                       assert tcbranode10 isa nullable TCbra
+                                       var listnode12 = nodearraylist11
+                                       assert listnode12 isa Array[Object]
+                                       listnode13 = concat(listnode13, listnode12)
+                                       var tkwendnode14 = nodearraylist12
+                                       assert tkwendnode14 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
-                                               listnode8,
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
                                                null,
-                                               pexterncodeblocknode10,
-                                               listnode12,
-                                               listnode14,
-                                               tkwendnode15
+                                               listnode13,
+                                               tkwendnode14
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction41
+private class ReduceAction29
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2621,9 +1972,8 @@ private class ReduceAction41
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode19 = new Array[Object]
+                                       var listnode9 = new Array[Object]
+                                       var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
@@ -2634,47 +1984,38 @@ private class ReduceAction41
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
+                                       var tobranode7 = nodearraylist7
+                                       assert tobranode7 isa nullable TObra
+                                       var listnode8 = nodearraylist9
+                                       assert listnode8 isa Array[Object]
+                                       listnode9 = concat(listnode9, listnode8)
+                                       var tcbranode10 = nodearraylist10
+                                       assert tcbranode10 isa nullable TCbra
+                                       var pexterncodeblocknode11 = nodearraylist11
+                                       assert pexterncodeblocknode11 isa nullable AExternCodeBlock
+                                       var listnode12 = nodearraylist12
                                        assert listnode12 isa Array[Object]
                                        listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode16 = nodearraylist10
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var listnode18 = nodearraylist11
-                                       assert listnode18 isa Array[Object]
-                                       listnode19 = concat(listnode19, listnode18)
-                                       var tkwendnode20 = nodearraylist13
-                                       assert tkwendnode20 isa nullable TKwend
+                                       var tkwendnode14 = nodearraylist13
+                                       assert tkwendnode14 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode17,
-                                               listnode19,
-                                               tkwendnode20
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
+                                               pexterncodeblocknode11,
+                                               listnode13,
+                                               tkwendnode14
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction43
+private class ReduceAction31
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2685,7 +2026,7 @@ private class ReduceAction43
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction44
+private class ReduceAction32
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2700,7 +2041,7 @@ private class ReduceAction44
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction45
+private class ReduceAction33
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2719,7 +2060,7 @@ private class ReduceAction45
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction46
+private class ReduceAction34
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2734,7 +2075,7 @@ private class ReduceAction46
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction47
+private class ReduceAction35
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2749,7 +2090,7 @@ private class ReduceAction47
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction48
+private class ReduceAction36
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2768,18 +2109,14 @@ private class ReduceAction48
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction49
+private class ReduceAction37
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
-                                       var pformaldefnode1 = nodearraylist3
+                                       var pformaldefnode1 = nodearraylist1
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -2787,20 +2124,16 @@ private class ReduceAction49
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction50
+private class ReduceAction38
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var pformaldefnode1 = nodearraylist3
-                                       var listnode2 = nodearraylist4
+                                       var pformaldefnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pformaldefnode1 != null then
                                                listnode3.add(pformaldefnode1)
@@ -2810,7 +2143,7 @@ private class ReduceAction50
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction51
+private class ReduceAction39
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2820,7 +2153,7 @@ private class ReduceAction51
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction52
+private class ReduceAction40
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2833,11 +2166,12 @@ private class ReduceAction52
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction53
+private class ReduceAction41
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var tclassidnode2 = nodearraylist1
@@ -2853,11 +2187,12 @@ private class ReduceAction53
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction54
+private class ReduceAction42
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
@@ -2876,32 +2211,84 @@ private class ReduceAction54
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction55
+private class ReduceAction43
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwsupernode2 = nodearraylist2
-                                       assert tkwsupernode2 isa nullable TKwsuper
-                                       var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable AType
-                                       var pannotationsnode4 = nodearraylist5
-                                       assert pannotationsnode4 isa nullable AAnnotations
-                                       var psuperclassnode1: nullable ASuperclass = new ASuperclass.init_asuperclass(
-                                               tkwsupernode2,
-                                               ptypenode3,
-                                               pannotationsnode4
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwsupernode5 = nodearraylist4
+                                       assert tkwsupernode5 isa nullable TKwsuper
+                                       var ptypenode6 = nodearraylist6
+                                       assert ptypenode6 isa nullable AType
+                                       var pannotationsnode7 = nodearraylist7
+                                       assert pannotationsnode7 isa nullable AAnnotations
+                                       var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwsupernode5,
+                                               ptypenode6,
+                                               pannotationsnode7
                                        )
-                                       node_list = psuperclassnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction56
+private class ReduceAction44
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       listnode2 = concat(listnode2, listnode1)
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction45
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var ppropdefnode1 = nodearraylist1
+                                       if ppropdefnode1 != null then
+                                               listnode2.add(ppropdefnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction46
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode1 = new Array[Object]
+                                       node_list = listnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction47
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2913,7 +2300,7 @@ private class ReduceAction56
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction57
+private class ReduceAction48
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2939,8 +2326,12 @@ private class ReduceAction57
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2953,13 +2344,15 @@ private class ReduceAction57
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction58
+private class ReduceAction49
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2988,8 +2381,12 @@ private class ReduceAction58
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3002,13 +2399,15 @@ private class ReduceAction58
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction59
+private class ReduceAction50
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3046,13 +2445,15 @@ private class ReduceAction59
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction60
+private class ReduceAction51
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3087,13 +2488,15 @@ private class ReduceAction60
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction61
+private class ReduceAction52
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3131,13 +2534,15 @@ private class ReduceAction61
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction62
+private class ReduceAction53
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3160,8 +2565,12 @@ private class ReduceAction62
                                        assert tkwnewnode7 isa nullable TKwnew
                                        var psignaturenode9 = nodearraylist5
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist7
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist6
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist7
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist8
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3174,13 +2583,15 @@ private class ReduceAction62
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction63
+private class ReduceAction54
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3206,8 +2617,12 @@ private class ReduceAction63
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3220,13 +2635,15 @@ private class ReduceAction63
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction64
+private class ReduceAction55
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3252,8 +2669,12 @@ private class ReduceAction64
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist6
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3266,13 +2687,15 @@ private class ReduceAction64
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction65
+private class ReduceAction56
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3301,8 +2724,12 @@ private class ReduceAction65
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3315,13 +2742,15 @@ private class ReduceAction65
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction66
+private class ReduceAction57
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3362,13 +2791,15 @@ private class ReduceAction66
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction67
+private class ReduceAction58
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3412,13 +2843,15 @@ private class ReduceAction67
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction68
+private class ReduceAction59
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3442,8 +2875,8 @@ private class ReduceAction68
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3452,14 +2885,17 @@ private class ReduceAction68
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
+                                               null,
+                                               pannotationsnode10,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction69
+private class ReduceAction60
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3486,10 +2922,12 @@ private class ReduceAction69
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode8 = nodearraylist9
-                                       assert pexprnode8 isa nullable AExpr
-                                       var pannotationsnode9 = nodearraylist10
-                                       assert pannotationsnode9 isa nullable AAnnotations
+                                       var tassignnode8 = nodearraylist7
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist9
+                                       assert pexprnode9 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist10
+                                       assert pannotationsnode10 isa nullable AAnnotations
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3497,15 +2935,18 @@ private class ReduceAction69
                                                tkwvarnode5,
                                                tidnode6,
                                                ptypenode7,
-                                               pexprnode8,
-                                               pannotationsnode9,
+                                               tassignnode8,
+                                               pexprnode9,
+                                               pannotationsnode10,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction70
+private class ReduceAction61
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3530,8 +2971,10 @@ private class ReduceAction70
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode10 = nodearraylist8
-                                       assert pexprnode10 isa nullable AExpr
+                                       var tkwdonode11 = nodearraylist7
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3541,13 +2984,16 @@ private class ReduceAction70
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction71
+private class ReduceAction62
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3573,10 +3019,12 @@ private class ReduceAction71
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
-                                       var pexprnode10 = nodearraylist9
-                                       assert pexprnode10 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
+                                       var tkwdonode11 = nodearraylist8
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3585,14 +3033,17 @@ private class ReduceAction71
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
-                                               pexprnode10
+                                               null,
+                                               pannotationsnode10,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction72
+private class ReduceAction63
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3618,8 +3069,12 @@ private class ReduceAction72
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode10 = nodearraylist8
-                                       assert pexprnode10 isa nullable AExpr
+                                       var tkwdonode11 = nodearraylist7
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
+                                       var tkwendnode13 = nodearraylist9
+                                       assert tkwendnode13 isa nullable TKwend
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3629,13 +3084,16 @@ private class ReduceAction72
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               tkwendnode13
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction73
+private class ReduceAction64
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3662,10 +3120,14 @@ private class ReduceAction73
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
-                                       var pexprnode10 = nodearraylist9
-                                       assert pexprnode10 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
+                                       var tkwdonode11 = nodearraylist8
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
+                                       var tkwendnode13 = nodearraylist10
+                                       assert tkwendnode13 isa nullable TKwend
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3674,14 +3136,17 @@ private class ReduceAction73
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
-                                               pexprnode10
+                                               null,
+                                               pannotationsnode10,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               tkwendnode13
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction74
+private class ReduceAction65
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3704,8 +3169,12 @@ private class ReduceAction74
                                        assert tkwinitnode6 isa nullable TKwinit
                                        var psignaturenode9 = nodearraylist5
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist7
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist6
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist7
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist8
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3718,13 +3187,15 @@ private class ReduceAction74
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction75
+private class ReduceAction66
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3750,8 +3221,12 @@ private class ReduceAction75
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3764,13 +3239,15 @@ private class ReduceAction75
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction76
+private class ReduceAction67
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3796,8 +3273,12 @@ private class ReduceAction76
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist6
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3810,13 +3291,15 @@ private class ReduceAction76
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction77
+private class ReduceAction68
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3845,8 +3328,12 @@ private class ReduceAction77
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3859,13 +3346,15 @@ private class ReduceAction77
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction78
+private class ReduceAction69
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3904,7 +3393,7 @@ private class ReduceAction78
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction79
+private class ReduceAction70
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3942,13 +3431,15 @@ private class ReduceAction79
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction80
+private class ReduceAction71
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3989,13 +3480,15 @@ private class ReduceAction80
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction81
+private class ReduceAction72
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4036,13 +3529,15 @@ private class ReduceAction81
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction82
+private class ReduceAction73
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4086,25 +3581,51 @@ private class ReduceAction82
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction83
+private class ReduceAction74
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var ppropdefnode1 = nodearraylist1
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction76
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist2
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               null
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction84
+private class ReduceAction77
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4113,12 +3634,27 @@ private class ReduceAction84
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist3
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist3
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tkwendnode8 = nodearraylist4
+                                       assert tkwendnode8 isa nullable TKwend
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               tkwendnode8
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction87
+private class ReduceAction80
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4126,12 +3662,25 @@ private class ReduceAction87
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist3
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist3
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               null
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction88
+private class ReduceAction81
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4143,7 +3692,7 @@ private class ReduceAction88
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction89
+private class ReduceAction82
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4159,7 +3708,7 @@ private class ReduceAction89
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction90
+private class ReduceAction83
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4175,7 +3724,7 @@ private class ReduceAction90
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction91
+private class ReduceAction84
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4191,7 +3740,7 @@ private class ReduceAction91
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction92
+private class ReduceAction85
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4207,7 +3756,7 @@ private class ReduceAction92
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction93
+private class ReduceAction86
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4222,7 +3771,7 @@ private class ReduceAction93
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction94
+private class ReduceAction87
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4237,7 +3786,7 @@ private class ReduceAction94
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction95
+private class ReduceAction88
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4252,7 +3801,7 @@ private class ReduceAction95
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction96
+private class ReduceAction89
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4267,7 +3816,7 @@ private class ReduceAction96
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction97
+private class ReduceAction90
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4282,7 +3831,7 @@ private class ReduceAction97
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction98
+private class ReduceAction91
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4297,7 +3846,67 @@ private class ReduceAction98
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction99
+private class ReduceAction92
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpipenode2 = nodearraylist1
+                                       assert tpipenode2 isa nullable TPipe
+                                       var pmethidnode1: nullable APipeMethid = new APipeMethid.init_apipemethid(
+                                               tpipenode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction93
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tcaretnode2 = nodearraylist1
+                                       assert tcaretnode2 isa nullable TCaret
+                                       var pmethidnode1: nullable ACaretMethid = new ACaretMethid.init_acaretmethid(
+                                               tcaretnode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction94
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tampnode2 = nodearraylist1
+                                       assert tampnode2 isa nullable TAmp
+                                       var pmethidnode1: nullable AAmpMethid = new AAmpMethid.init_aampmethid(
+                                               tampnode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction95
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var ttildenode2 = nodearraylist1
+                                       assert ttildenode2 isa nullable TTilde
+                                       var pmethidnode1: nullable ATildeMethid = new ATildeMethid.init_atildemethid(
+                                               ttildenode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction96
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4312,7 +3921,7 @@ private class ReduceAction99
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction100
+private class ReduceAction97
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4327,7 +3936,7 @@ private class ReduceAction100
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction101
+private class ReduceAction98
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4342,7 +3951,7 @@ private class ReduceAction101
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction102
+private class ReduceAction99
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4357,7 +3966,7 @@ private class ReduceAction102
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction103
+private class ReduceAction100
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4372,7 +3981,7 @@ private class ReduceAction103
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction104
+private class ReduceAction101
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4387,7 +3996,7 @@ private class ReduceAction104
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction105
+private class ReduceAction102
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4402,7 +4011,7 @@ private class ReduceAction105
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction106
+private class ReduceAction103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4417,7 +4026,7 @@ private class ReduceAction106
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction107
+private class ReduceAction104
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4436,7 +4045,7 @@ private class ReduceAction107
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction108
+private class ReduceAction105
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4451,7 +4060,7 @@ private class ReduceAction108
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction109
+private class ReduceAction106
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4470,7 +4079,7 @@ private class ReduceAction109
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction110
+private class ReduceAction107
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4493,7 +4102,7 @@ private class ReduceAction110
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction111
+private class ReduceAction108
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4508,7 +4117,7 @@ private class ReduceAction111
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction112
+private class ReduceAction109
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4539,7 +4148,7 @@ private class ReduceAction112
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction113
+private class ReduceAction110
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4567,7 +4176,7 @@ private class ReduceAction113
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction114
+private class ReduceAction111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4587,7 +4196,7 @@ private class ReduceAction114
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction115
+private class ReduceAction112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4604,7 +4213,7 @@ private class ReduceAction115
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction116
+private class ReduceAction113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4620,7 +4229,7 @@ private class ReduceAction116
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction117
+private class ReduceAction114
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4640,7 +4249,7 @@ private class ReduceAction117
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction119
+private class ReduceAction116
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4653,7 +4262,7 @@ private class ReduceAction119
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction120
+private class ReduceAction117
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4674,7 +4283,7 @@ private class ReduceAction120
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction121
+private class ReduceAction118
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4695,7 +4304,7 @@ private class ReduceAction121
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction122
+private class ReduceAction119
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4719,7 +4328,7 @@ private class ReduceAction122
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction123
+private class ReduceAction120
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4743,7 +4352,7 @@ private class ReduceAction123
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction124
+private class ReduceAction121
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4770,7 +4379,7 @@ private class ReduceAction124
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction125
+private class ReduceAction122
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4794,7 +4403,7 @@ private class ReduceAction125
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction126
+private class ReduceAction123
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4822,7 +4431,7 @@ private class ReduceAction126
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction128
+private class ReduceAction125
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4835,7 +4444,7 @@ private class ReduceAction128
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction129
+private class ReduceAction126
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4846,7 +4455,7 @@ private class ReduceAction129
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction131
+private class ReduceAction128
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4861,7 +4470,7 @@ private class ReduceAction131
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction132
+private class ReduceAction129
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4876,7 +4485,7 @@ private class ReduceAction132
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction133
+private class ReduceAction130
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4899,7 +4508,7 @@ private class ReduceAction133
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction134
+private class ReduceAction131
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4914,7 +4523,7 @@ private class ReduceAction134
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction135
+private class ReduceAction132
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4946,7 +4555,7 @@ private class ReduceAction135
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction136
+private class ReduceAction133
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4974,7 +4583,7 @@ private class ReduceAction136
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction137
+private class ReduceAction134
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5003,7 +4612,7 @@ private class ReduceAction137
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction138
+private class ReduceAction135
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5028,7 +4637,7 @@ private class ReduceAction138
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction139
+private class ReduceAction136
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5062,7 +4671,7 @@ private class ReduceAction139
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction140
+private class ReduceAction137
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5092,7 +4701,7 @@ private class ReduceAction140
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction142
+private class ReduceAction139
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5103,7 +4712,7 @@ private class ReduceAction142
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction143
+private class ReduceAction140
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5124,7 +4733,7 @@ private class ReduceAction143
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction144
+private class ReduceAction141
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5140,7 +4749,7 @@ private class ReduceAction144
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction145
+private class ReduceAction142
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5159,7 +4768,7 @@ private class ReduceAction145
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction146
+private class ReduceAction143
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5170,7 +4779,7 @@ private class ReduceAction146
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction148
+private class ReduceAction145
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5182,29 +4791,31 @@ private class ReduceAction148
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction149
+private class ReduceAction146
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
+                                       var listnode5 = new Array[Object]
                                        var tclassidnode3 = nodearraylist1
                                        assert tclassidnode3 isa nullable TClassid
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pannotationsnode7 = nodearraylist2
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                null,
                                                tclassidnode3,
-                                               listnode4,
-                                               pannotationsnode5
+                                               null,
+                                               listnode5,
+                                               null,
+                                               pannotationsnode7
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction150
+private class ReduceAction147
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5212,24 +4823,26 @@ private class ReduceAction150
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
+                                       var listnode5 = new Array[Object]
                                        var tkwnullablenode2 = nodearraylist1
                                        assert tkwnullablenode2 isa nullable TKwnullable
                                        var tclassidnode3 = nodearraylist2
                                        assert tclassidnode3 isa nullable TClassid
-                                       var pannotationsnode5 = nodearraylist3
-                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pannotationsnode7 = nodearraylist3
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                tkwnullablenode2,
                                                tclassidnode3,
-                                               listnode4,
-                                               pannotationsnode5
+                                               null,
+                                               listnode5,
+                                               null,
+                                               pannotationsnode7
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction151
+private class ReduceAction148
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5241,25 +4854,31 @@ private class ReduceAction151
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
+                                       var listnode6 = new Array[Object]
                                        var tclassidnode3 = nodearraylist1
                                        assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode6 = nodearraylist7
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tobranode4 = nodearraylist2
+                                       assert tobranode4 isa nullable TObra
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcbranode7 = nodearraylist6
+                                       assert tcbranode7 isa nullable TCbra
+                                       var pannotationsnode8 = nodearraylist7
+                                       assert pannotationsnode8 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                null,
                                                tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
+                                               tobranode4,
+                                               listnode6,
+                                               tcbranode7,
+                                               pannotationsnode8
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction152
+private class ReduceAction149
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5272,27 +4891,33 @@ private class ReduceAction152
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
+                                       var listnode6 = new Array[Object]
                                        var tkwnullablenode2 = nodearraylist1
                                        assert tkwnullablenode2 isa nullable TKwnullable
                                        var tclassidnode3 = nodearraylist2
                                        assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode6 = nodearraylist8
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tobranode4 = nodearraylist3
+                                       assert tobranode4 isa nullable TObra
+                                       var listnode5 = nodearraylist5
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcbranode7 = nodearraylist7
+                                       assert tcbranode7 isa nullable TCbra
+                                       var pannotationsnode8 = nodearraylist8
+                                       assert pannotationsnode8 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                tkwnullablenode2,
                                                tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
+                                               tobranode4,
+                                               listnode6,
+                                               tcbranode7,
+                                               pannotationsnode8
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction153
+private class ReduceAction150
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5307,7 +4932,7 @@ private class ReduceAction153
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction154
+private class ReduceAction151
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5326,7 +4951,7 @@ private class ReduceAction154
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction155
+private class ReduceAction152
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5339,7 +4964,7 @@ private class ReduceAction155
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction159
+private class ReduceAction156
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5351,7 +4976,7 @@ private class ReduceAction159
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction160
+private class ReduceAction157
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5369,7 +4994,7 @@ private class ReduceAction160
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction161
+private class ReduceAction158
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5386,7 +5011,7 @@ private class ReduceAction161
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction162
+private class ReduceAction159
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5397,7 +5022,7 @@ private class ReduceAction162
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction163
+private class ReduceAction160
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5417,7 +5042,7 @@ private class ReduceAction163
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction164
+private class ReduceAction161
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5441,7 +5066,7 @@ private class ReduceAction164
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction165
+private class ReduceAction162
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5462,7 +5087,7 @@ private class ReduceAction165
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction166
+private class ReduceAction163
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5487,7 +5112,7 @@ private class ReduceAction166
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction167
+private class ReduceAction164
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5511,7 +5136,7 @@ private class ReduceAction167
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction168
+private class ReduceAction165
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5539,7 +5164,7 @@ private class ReduceAction168
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction172
+private class ReduceAction169
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5555,7 +5180,7 @@ private class ReduceAction172
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction173
+private class ReduceAction170
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5574,7 +5199,7 @@ private class ReduceAction173
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction174
+private class ReduceAction171
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5590,7 +5215,7 @@ private class ReduceAction174
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction175
+private class ReduceAction172
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5609,7 +5234,7 @@ private class ReduceAction175
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction176
+private class ReduceAction173
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5624,7 +5249,7 @@ private class ReduceAction176
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction177
+private class ReduceAction174
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5640,7 +5265,7 @@ private class ReduceAction177
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction178
+private class ReduceAction175
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5659,7 +5284,7 @@ private class ReduceAction178
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction185
+private class ReduceAction183
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5684,7 +5309,7 @@ private class ReduceAction185
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction186
+private class ReduceAction184
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5710,7 +5335,7 @@ private class ReduceAction186
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction187
+private class ReduceAction185
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5737,7 +5362,7 @@ private class ReduceAction187
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction189
+private class ReduceAction187
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5758,7 +5383,7 @@ private class ReduceAction189
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction190
+private class ReduceAction188
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5780,7 +5405,7 @@ private class ReduceAction190
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction191
+private class ReduceAction189
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5803,7 +5428,7 @@ private class ReduceAction191
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction193
+private class ReduceAction191
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5826,7 +5451,7 @@ private class ReduceAction193
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction194
+private class ReduceAction192
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5851,7 +5476,7 @@ private class ReduceAction194
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction195
+private class ReduceAction193
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5872,7 +5497,7 @@ private class ReduceAction195
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction196
+private class ReduceAction194
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5898,7 +5523,7 @@ private class ReduceAction196
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction197
+private class ReduceAction195
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5925,7 +5550,7 @@ private class ReduceAction197
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction199
+private class ReduceAction197
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5947,7 +5572,7 @@ private class ReduceAction199
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction200
+private class ReduceAction198
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5970,7 +5595,7 @@ private class ReduceAction200
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction202
+private class ReduceAction200
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5998,7 +5623,7 @@ private class ReduceAction202
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction203
+private class ReduceAction201
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6014,7 +5639,7 @@ private class ReduceAction203
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction204
+private class ReduceAction202
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6033,7 +5658,7 @@ private class ReduceAction204
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction205
+private class ReduceAction203
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6059,7 +5684,7 @@ private class ReduceAction205
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction206
+private class ReduceAction204
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6088,7 +5713,7 @@ private class ReduceAction206
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction207
+private class ReduceAction205
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6121,7 +5746,7 @@ private class ReduceAction207
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction208
+private class ReduceAction206
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6157,7 +5782,7 @@ private class ReduceAction208
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction209
+private class ReduceAction207
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6187,7 +5812,7 @@ private class ReduceAction209
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction210
+private class ReduceAction208
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6213,7 +5838,7 @@ private class ReduceAction210
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction211
+private class ReduceAction209
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6246,7 +5871,7 @@ private class ReduceAction211
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction212
+private class ReduceAction210
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6280,7 +5905,7 @@ private class ReduceAction212
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction213
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6314,7 +5939,7 @@ private class ReduceAction213
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction214
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6349,7 +5974,7 @@ private class ReduceAction214
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction215
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6384,7 +6009,7 @@ private class ReduceAction215
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction216
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6420,7 +6045,7 @@ private class ReduceAction216
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction219
+private class ReduceAction217
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6449,7 +6074,7 @@ private class ReduceAction219
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction220
+private class ReduceAction218
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6479,7 +6104,7 @@ private class ReduceAction220
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction221
+private class ReduceAction219
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6509,7 +6134,7 @@ private class ReduceAction221
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction222
+private class ReduceAction220
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6540,7 +6165,7 @@ private class ReduceAction222
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction223
+private class ReduceAction221
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6571,7 +6196,7 @@ private class ReduceAction223
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction224
+private class ReduceAction222
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6603,7 +6228,7 @@ private class ReduceAction224
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction227
+private class ReduceAction225
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6630,7 +6255,7 @@ private class ReduceAction227
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction228
+private class ReduceAction226
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6660,7 +6285,7 @@ private class ReduceAction228
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction229
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6686,7 +6311,7 @@ private class ReduceAction229
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction230
+private class ReduceAction228
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6719,7 +6344,7 @@ private class ReduceAction230
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction231
+private class ReduceAction229
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6753,7 +6378,7 @@ private class ReduceAction231
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction232
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6787,7 +6412,7 @@ private class ReduceAction232
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction233
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6822,7 +6447,7 @@ private class ReduceAction233
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction234
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6857,7 +6482,7 @@ private class ReduceAction234
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction235
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6893,7 +6518,7 @@ private class ReduceAction235
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction238
+private class ReduceAction236
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6922,7 +6547,7 @@ private class ReduceAction238
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction237
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6952,7 +6577,7 @@ private class ReduceAction239
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction240
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6982,7 +6607,7 @@ private class ReduceAction240
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction241
+private class ReduceAction239
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7013,7 +6638,7 @@ private class ReduceAction241
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction242
+private class ReduceAction240
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7044,7 +6669,7 @@ private class ReduceAction242
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction243
+private class ReduceAction241
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7076,7 +6701,7 @@ private class ReduceAction243
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction246
+private class ReduceAction244
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7103,7 +6728,7 @@ private class ReduceAction246
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction247
+private class ReduceAction245
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7118,7 +6743,7 @@ private class ReduceAction247
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction248
+private class ReduceAction246
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7129,59 +6754,299 @@ private class ReduceAction248
                                        var passignopnode1: nullable AMinusAssignOp = new AMinusAssignOp.init_aminusassignop(
                                                tminuseqnode2
                                        )
-                                       node_list = passignopnode1
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction247
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tstareqnode2 = nodearraylist1
+                                       assert tstareqnode2 isa nullable TStareq
+                                       var passignopnode1: nullable AStarAssignOp = new AStarAssignOp.init_astarassignop(
+                                               tstareqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction248
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tslasheqnode2 = nodearraylist1
+                                       assert tslasheqnode2 isa nullable TSlasheq
+                                       var passignopnode1: nullable ASlashAssignOp = new ASlashAssignOp.init_aslashassignop(
+                                               tslasheqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction249
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpercenteqnode2 = nodearraylist1
+                                       assert tpercenteqnode2 isa nullable TPercenteq
+                                       var passignopnode1: nullable APercentAssignOp = new APercentAssignOp.init_apercentassignop(
+                                               tpercenteqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction250
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tstarstareqnode2 = nodearraylist1
+                                       assert tstarstareqnode2 isa nullable TStarstareq
+                                       var passignopnode1: nullable AStarstarAssignOp = new AStarstarAssignOp.init_astarstarassignop(
+                                               tstarstareqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction251
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpipeeqnode2 = nodearraylist1
+                                       assert tpipeeqnode2 isa nullable TPipeeq
+                                       var passignopnode1: nullable APipeAssignOp = new APipeAssignOp.init_apipeassignop(
+                                               tpipeeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction252
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tcareteqnode2 = nodearraylist1
+                                       assert tcareteqnode2 isa nullable TCareteq
+                                       var passignopnode1: nullable ACaretAssignOp = new ACaretAssignOp.init_acaretassignop(
+                                               tcareteqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction253
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tampeqnode2 = nodearraylist1
+                                       assert tampeqnode2 isa nullable TAmpeq
+                                       var passignopnode1: nullable AAmpAssignOp = new AAmpAssignOp.init_aampassignop(
+                                               tampeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction254
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tlleqnode2 = nodearraylist1
+                                       assert tlleqnode2 isa nullable TLleq
+                                       var passignopnode1: nullable ALlAssignOp = new ALlAssignOp.init_allassignop(
+                                               tlleqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction255
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tggeqnode2 = nodearraylist1
+                                       assert tggeqnode2 isa nullable TGgeq
+                                       var passignopnode1: nullable AGgAssignOp = new AGgAssignOp.init_aggassignop(
+                                               tggeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction256
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwdonode2 = nodearraylist1
+                                       assert tkwdonode2 isa nullable TKwdo
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var plabelnode4 = nodearraylist3
+                                       assert plabelnode4 isa nullable ALabel
+                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
+                                               tkwdonode2,
+                                               pexprnode3,
+                                               plabelnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction257
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwdonode2 = nodearraylist1
+                                       assert tkwdonode2 isa nullable TKwdo
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
+                                               tkwdonode2,
+                                               pexprnode3,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction258
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode6 = nodearraylist7
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
+                                               pexprnode3,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction249
+private class ReduceAction259
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwdonode2 = nodearraylist1
-                                       assert tkwdonode2 isa nullable TKwdo
-                                       var pexprnode3 = nodearraylist2
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var plabelnode4 = nodearraylist3
-                                       assert plabelnode4 isa nullable ALabel
-                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
-                                               tkwdonode2,
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
                                                pexprnode3,
-                                               plabelnode4
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction250
+private class ReduceAction260
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwdonode2 = nodearraylist1
-                                       assert tkwdonode2 isa nullable TKwdo
-                                       var pexprnode3 = nodearraylist2
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
-                                               tkwdonode2,
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode6 = nodearraylist8
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist9
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
                                                pexprnode3,
-                                               null
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction251
+private class ReduceAction261
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
@@ -7193,25 +7058,31 @@ private class ReduceAction251
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var tkwelsenode6 = nodearraylist6
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction252
+private class ReduceAction262
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
@@ -7222,19 +7093,25 @@ private class ReduceAction252
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var tkwelsenode6 = nodearraylist7
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               null
+                                               tkwthennode4,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction253
+private class ReduceAction263
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7251,21 +7128,25 @@ private class ReduceAction253
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist8
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
                                        assert pexprnode5 isa nullable AExpr
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction254
+private class ReduceAction264
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7280,19 +7161,23 @@ private class ReduceAction254
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode7 = nodearraylist6
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
+                                               tkwthennode4,
                                                null,
-                                               pexprnode5
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction255
+private class ReduceAction265
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7308,19 +7193,23 @@ private class ReduceAction255
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
+                                               tkwthennode4,
                                                null,
-                                               pexprnode5
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction258
+private class ReduceAction267
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7343,7 +7232,7 @@ private class ReduceAction258
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction259
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7363,7 +7252,7 @@ private class ReduceAction259
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction260
+private class ReduceAction269
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7396,7 +7285,7 @@ private class ReduceAction260
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction261
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7426,7 +7315,7 @@ private class ReduceAction261
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction262
+private class ReduceAction271
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7448,66 +7337,198 @@ private class ReduceAction262
                                        var listnode3 = nodearraylist3
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
-                                       var tkwdonode6 = nodearraylist9
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist11
-                                       assert plabelnode8 isa nullable ALabel
+                                       var tkwinnode5 = nodearraylist5
+                                       assert tkwinnode5 isa nullable TKwin
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
+                                       var tkwdonode7 = nodearraylist9
+                                       assert tkwdonode7 isa nullable TKwdo
+                                       var pexprnode8 = nodearraylist10
+                                       assert pexprnode8 isa nullable AExpr
+                                       var plabelnode9 = nodearraylist11
+                                       assert plabelnode9 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               tkwinnode5,
+                                               pexprnode6,
+                                               tkwdonode7,
+                                               pexprnode8,
+                                               plabelnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction272
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tkwinnode5 = nodearraylist5
+                                       assert tkwinnode5 isa nullable TKwin
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
+                                       var tkwdonode7 = nodearraylist9
+                                       assert tkwdonode7 isa nullable TKwdo
+                                       var pexprnode8 = nodearraylist10
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                listnode4,
+                                               tkwinnode5,
+                                               pexprnode6,
+                                               tkwdonode7,
+                                               pexprnode8,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction273
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwwithnode2 = nodearraylist1
+                                       assert tkwwithnode2 isa nullable TKwwith
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwdonode4 = nodearraylist5
+                                       assert tkwdonode4 isa nullable TKwdo
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var plabelnode6 = nodearraylist7
+                                       assert plabelnode6 isa nullable ALabel
+                                       var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
+                                               tkwwithnode2,
+                                               pexprnode3,
+                                               tkwdonode4,
                                                pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               plabelnode8
+                                               plabelnode6
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction274
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwwithnode2 = nodearraylist1
+                                       assert tkwwithnode2 isa nullable TKwwith
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwdonode4 = nodearraylist5
+                                       assert tkwdonode4 isa nullable TKwdo
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
+                                               tkwwithnode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction275
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tidnode3 = nodearraylist1
+                                       assert tidnode3 isa nullable TId
+                                       var ptypenode4 = nodearraylist2
+                                       assert ptypenode4 isa nullable AType
+                                       var tassignnode5 = nodearraylist3
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist5
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
+                                               null,
+                                               tidnode3,
+                                               ptypenode4,
+                                               tassignnode5,
+                                               pexprnode6,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction263
+private class ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tkwfornode2 = nodearraylist1
-                                       assert tkwfornode2 isa nullable TKwfor
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
-                                       var tkwdonode6 = nodearraylist9
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
-                                               tkwfornode2,
-                                               listnode4,
-                                               pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var tidnode3 = nodearraylist1
+                                       assert tidnode3 isa nullable TId
+                                       var ptypenode4 = nodearraylist3
+                                       assert ptypenode4 isa nullable AType
+                                       var tassignnode5 = nodearraylist4
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist6
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pannotationsnode7 = nodearraylist2
+                                       assert pannotationsnode7 isa nullable AAnnotations
+                                       var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
+                                               null,
+                                               tidnode3,
+                                               ptypenode4,
+                                               tassignnode5,
+                                               pexprnode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction264
+private class ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7520,19 +7541,22 @@ private class ReduceAction264
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
                                        assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist4
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode5 = nodearraylist3
+                                       assert tkwelsenode5 isa nullable TKwelse
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
                                                pexprnode4,
-                                               pexprnode5
+                                               tkwelsenode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction265
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7548,19 +7572,22 @@ private class ReduceAction265
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
                                        assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist5
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode5 = nodearraylist4
+                                       assert tkwelsenode5 isa nullable TKwelse
+                                       var pexprnode6 = nodearraylist5
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
                                                pexprnode4,
-                                               pexprnode5
+                                               tkwelsenode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction266
+private class ReduceAction280
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7575,13 +7602,14 @@ private class ReduceAction266
                                                tkwassertnode2,
                                                null,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction267
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7599,13 +7627,14 @@ private class ReduceAction267
                                                tkwassertnode2,
                                                tidnode3,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction268
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7617,7 +7646,7 @@ private class ReduceAction268
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction270
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7657,7 +7686,7 @@ private class ReduceAction270
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction272
+private class ReduceAction286
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7668,17 +7697,20 @@ private class ReduceAction272
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwornode3 = nodearraylist2
+                                       assert tkwornode3 isa nullable TKwor
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwornode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction273
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7689,17 +7721,20 @@ private class ReduceAction273
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwandnode3 = nodearraylist2
+                                       assert tkwandnode3 isa nullable TKwand
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwandnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction274
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7711,17 +7746,23 @@ private class ReduceAction274
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist5
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwornode3 = nodearraylist2
+                                       assert tkwornode3 isa nullable TKwor
+                                       var tkwelsenode4 = nodearraylist3
+                                       assert tkwelsenode4 isa nullable TKwelse
+                                       var pexprnode5 = nodearraylist5
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AOrElseExpr = new AOrElseExpr.init_aorelseexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwornode3,
+                                               tkwelsenode4,
+                                               pexprnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction275
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7732,17 +7773,20 @@ private class ReduceAction275
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwimpliesnode3 = nodearraylist2
+                                       assert tkwimpliesnode3 isa nullable TKwimplies
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AImpliesExpr = new AImpliesExpr.init_aimpliesexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwimpliesnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction277
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7762,7 +7806,7 @@ private class ReduceAction277
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction279
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7773,17 +7817,20 @@ private class ReduceAction279
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var teqnode3 = nodearraylist2
+                                       assert teqnode3 isa nullable TEq
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               teqnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction280
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7794,17 +7841,20 @@ private class ReduceAction280
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tnenode3 = nodearraylist2
+                                       assert tnenode3 isa nullable TNe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tnenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction281
+private class ReduceAction295
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7815,17 +7865,20 @@ private class ReduceAction281
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tltnode3 = nodearraylist2
+                                       assert tltnode3 isa nullable TLt
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tltnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction282
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7836,17 +7889,20 @@ private class ReduceAction282
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tlenode3 = nodearraylist2
+                                       assert tlenode3 isa nullable TLe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tlenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction283
+private class ReduceAction297
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7857,17 +7913,20 @@ private class ReduceAction283
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
+                                       var tgtnode3 = nodearraylist2
+                                       assert tgtnode3 isa nullable TGt
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tgtnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction284
+private class ReduceAction298
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7878,17 +7937,20 @@ private class ReduceAction284
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
+                                       var tgenode3 = nodearraylist2
+                                       assert tgenode3 isa nullable TGe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tgenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction285
+private class ReduceAction299
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7899,17 +7961,20 @@ private class ReduceAction285
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
+                                       var tstarshipnode3 = nodearraylist2
+                                       assert tstarshipnode3 isa nullable TStarship
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tstarshipnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction286
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7920,17 +7985,20 @@ private class ReduceAction286
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
+                                       var tkwisanode3 = nodearraylist2
+                                       assert tkwisanode3 isa nullable TKwisa
+                                       var ptypenode4 = nodearraylist4
+                                       assert ptypenode4 isa nullable AType
+                                       var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwisanode3,
+                                               ptypenode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction287
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7941,17 +8009,20 @@ private class ReduceAction287
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
+                                       var tpipenode3 = nodearraylist2
+                                       assert tpipenode3 isa nullable TPipe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable APipeExpr = new APipeExpr.init_apipeexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tpipenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction288
+private class ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7962,17 +8033,20 @@ private class ReduceAction288
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable AType
-                                       var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
+                                       var tcaretnode3 = nodearraylist2
+                                       assert tcaretnode3 isa nullable TCaret
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ACaretExpr = new ACaretExpr.init_acaretexpr(
                                                pexprnode2,
-                                               ptypenode3
+                                               tcaretnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction290
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7983,17 +8057,92 @@ private class ReduceAction290
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tampnode3 = nodearraylist2
+                                       assert tampnode3 isa nullable TAmp
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AAmpExpr = new AAmpExpr.init_aampexpr(
+                                               pexprnode2,
+                                               tampnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction308
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tllnode3 = nodearraylist2
+                                       assert tllnode3 isa nullable TLl
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
+                                               pexprnode2,
+                                               tllnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction309
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tggnode3 = nodearraylist2
+                                       assert tggnode3 isa nullable TGg
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
+                                               pexprnode2,
+                                               tggnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction311
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tplusnode3 = nodearraylist2
+                                       assert tplusnode3 isa nullable TPlus
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tplusnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction291
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8004,17 +8153,68 @@ private class ReduceAction291
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tminusnode3 = nodearraylist2
+                                       assert tminusnode3 isa nullable TMinus
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tminusnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction314
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tstarnode3 = nodearraylist2
+                                       assert tstarnode3 isa nullable TStar
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
+                                               pexprnode2,
+                                               tstarnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction315
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tslashnode3 = nodearraylist2
+                                       assert tslashnode3 isa nullable TSlash
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
+                                               pexprnode2,
+                                               tslashnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction293
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8025,17 +8225,20 @@ private class ReduceAction293
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
+                                       var tpercentnode3 = nodearraylist2
+                                       assert tpercentnode3 isa nullable TPercent
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tpercentnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction294
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8046,78 +8249,77 @@ private class ReduceAction294
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
+                                       var tstarstarnode3 = nodearraylist2
+                                       assert tstarstarnode3 isa nullable TStarstar
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarstarExpr = new AStarstarExpr.init_astarstarexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tstarstarnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction295
+private class ReduceAction320
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
+                                       var tminusnode2 = nodearraylist1
+                                       assert tminusnode2 isa nullable TMinus
+                                       var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
-                                               pexprnode2,
+                                       var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
+                                               tminusnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction297
+private class ReduceAction321
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
+                                       var tplusnode2 = nodearraylist1
+                                       assert tplusnode2 isa nullable TPlus
+                                       var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarstarExpr = new AStarstarExpr.init_astarstarexpr(
-                                               pexprnode2,
+                                       var pexprnode1: nullable AUplusExpr = new AUplusExpr.init_auplusexpr(
+                                               tplusnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction299
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tminusnode2 = nodearraylist1
-                                       assert tminusnode2 isa nullable TMinus
+                                       var ttildenode2 = nodearraylist1
+                                       assert ttildenode2 isa nullable TTilde
                                        var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
-                                               tminusnode2,
+                                       var pexprnode1: nullable AUtildeExpr = new AUtildeExpr.init_autildeexpr(
+                                               ttildenode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction300
+private class ReduceAction323
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8137,7 +8339,7 @@ private class ReduceAction300
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction302
+private class ReduceAction325
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8162,7 +8364,7 @@ private class ReduceAction302
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction303
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8188,7 +8390,7 @@ private class ReduceAction303
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction304
+private class ReduceAction327
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8214,7 +8416,7 @@ private class ReduceAction304
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction305
+private class ReduceAction328
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8236,7 +8438,7 @@ private class ReduceAction305
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction307
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8258,7 +8460,7 @@ private class ReduceAction307
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction308
+private class ReduceAction331
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8276,7 +8478,7 @@ private class ReduceAction308
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction310
+private class ReduceAction333
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8302,7 +8504,7 @@ private class ReduceAction310
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction312
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8329,7 +8531,7 @@ private class ReduceAction312
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction314
+private class ReduceAction337
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8357,7 +8559,7 @@ private class ReduceAction314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction318
+private class ReduceAction341
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8379,7 +8581,7 @@ private class ReduceAction318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction320
+private class ReduceAction343
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8402,7 +8604,7 @@ private class ReduceAction320
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction322
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8426,7 +8628,7 @@ private class ReduceAction322
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction326
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8450,7 +8652,7 @@ private class ReduceAction326
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction328
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8476,7 +8678,7 @@ private class ReduceAction328
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction330
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8498,7 +8700,7 @@ private class ReduceAction330
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction331
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8517,7 +8719,7 @@ private class ReduceAction331
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction332
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8547,7 +8749,7 @@ private class ReduceAction332
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction333
+private class ReduceAction356
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8578,7 +8780,7 @@ private class ReduceAction333
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction334
+private class ReduceAction357
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8609,7 +8811,7 @@ private class ReduceAction334
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction335
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8641,7 +8843,7 @@ private class ReduceAction335
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction336
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8673,7 +8875,7 @@ private class ReduceAction336
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction337
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8706,7 +8908,7 @@ private class ReduceAction337
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction340
+private class ReduceAction363
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8742,7 +8944,7 @@ private class ReduceAction340
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction341
+private class ReduceAction364
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8783,7 +8985,7 @@ private class ReduceAction341
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction342
+private class ReduceAction365
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8816,7 +9018,7 @@ private class ReduceAction342
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction343
+private class ReduceAction367
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8835,7 +9037,30 @@ private class ReduceAction343
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction344
+private class ReduceAction368
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var tassignnode3 = nodearraylist2
+                                       assert tassignnode3 isa nullable TAssign
+                                       var pexprnode4 = nodearraylist3
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ANamedargExpr = new ANamedargExpr.init_anamedargexpr(
+                                               tidnode2,
+                                               tassignnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction369
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8854,7 +9079,7 @@ private class ReduceAction344
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction345
+private class ReduceAction370
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8873,7 +9098,7 @@ private class ReduceAction345
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction346
+private class ReduceAction371
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8892,7 +9117,7 @@ private class ReduceAction346
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction347
+private class ReduceAction372
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8911,7 +9136,7 @@ private class ReduceAction347
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction348
+private class ReduceAction373
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8930,7 +9155,7 @@ private class ReduceAction348
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction349
+private class ReduceAction374
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8949,7 +9174,45 @@ private class ReduceAction349
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction350
+private class ReduceAction375
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tbinnumbernode2 = nodearraylist1
+                                       assert tbinnumbernode2 isa nullable TBinNumber
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable ABinIntExpr = new ABinIntExpr.init_abinintexpr(
+                                               tbinnumbernode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction376
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var toctnumbernode2 = nodearraylist1
+                                       assert toctnumbernode2 isa nullable TOctNumber
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable AOctIntExpr = new AOctIntExpr.init_aoctintexpr(
+                                               toctnumbernode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction377
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8968,7 +9231,7 @@ private class ReduceAction350
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction351
+private class ReduceAction378
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8987,7 +9250,7 @@ private class ReduceAction351
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction352
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9006,7 +9269,7 @@ private class ReduceAction352
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction355
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9025,24 +9288,27 @@ private class ReduceAction355
                                        assert tobranode2 isa nullable TObra
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tcbranode5 = nodearraylist9
-                                       assert tcbranode5 isa nullable TCbra
-                                       var pannotationsnode6 = nodearraylist10
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tdotdotnode4 = nodearraylist5
+                                       assert tdotdotnode4 isa nullable TDotdot
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tcbranode6 = nodearraylist9
+                                       assert tcbranode6 isa nullable TCbra
+                                       var pannotationsnode7 = nodearraylist10
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
                                                tobranode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               tcbranode5,
-                                               pannotationsnode6
+                                               tdotdotnode4,
+                                               pexprnode5,
+                                               tcbranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction356
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9061,24 +9327,27 @@ private class ReduceAction356
                                        assert tobranode2 isa nullable TObra
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tobranode5 = nodearraylist9
-                                       assert tobranode5 isa nullable TObra
-                                       var pannotationsnode6 = nodearraylist10
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tdotdotnode4 = nodearraylist5
+                                       assert tdotdotnode4 isa nullable TDotdot
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tobranode6 = nodearraylist9
+                                       assert tobranode6 isa nullable TObra
+                                       var pannotationsnode7 = nodearraylist10
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
                                                tobranode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               tobranode5,
-                                               pannotationsnode6
+                                               tdotdotnode4,
+                                               pexprnode5,
+                                               tobranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction357
+private class ReduceAction384
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9112,7 +9381,7 @@ private class ReduceAction357
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction358
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9141,7 +9410,7 @@ private class ReduceAction358
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction360
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9164,7 +9433,7 @@ private class ReduceAction360
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction361
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9177,7 +9446,7 @@ private class ReduceAction361
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction362
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9192,7 +9461,7 @@ private class ReduceAction362
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction363
+private class ReduceAction390
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9211,7 +9480,7 @@ private class ReduceAction363
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction365
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9223,7 +9492,7 @@ private class ReduceAction365
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction367
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9239,19 +9508,23 @@ private class ReduceAction367
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction368
+private class ReduceAction395
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9278,7 +9551,7 @@ private class ReduceAction368
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction369
+private class ReduceAction396
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9309,7 +9582,7 @@ private class ReduceAction369
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction370
+private class ReduceAction397
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9331,7 +9604,7 @@ private class ReduceAction370
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction371
+private class ReduceAction398
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9347,7 +9620,7 @@ private class ReduceAction371
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction372
+private class ReduceAction399
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9362,7 +9635,7 @@ private class ReduceAction372
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction375
+private class ReduceAction402
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9377,7 +9650,7 @@ private class ReduceAction375
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction376
+private class ReduceAction403
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9392,32 +9665,34 @@ private class ReduceAction376
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction377
+private class ReduceAction404
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tatnode2 = nodearraylist1
-                                       assert tatnode2 isa nullable TAt
-                                       var pannotationnode4 = nodearraylist2
-                                       assert pannotationnode4 isa nullable AAnnotation
-                                       if pannotationnode4 != null then
-                                               listnode5.add(pannotationnode4)
+                                       var listnode6 = new Array[Object]
+                                       var tatnode3 = nodearraylist1
+                                       assert tatnode3 isa nullable TAt
+                                       var pannotationnode5 = nodearraylist2
+                                       assert pannotationnode5 isa nullable AAnnotation
+                                       if pannotationnode5 != null then
+                                               listnode6.add(pannotationnode5)
                                        end
                                        var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               tatnode2,
                                                null,
-                                               listnode5,
+                                               tatnode3,
+                                               null,
+                                               listnode6,
+                                               null,
                                                null
                                        )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction378
+private class ReduceAction405
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9428,27 +9703,29 @@ private class ReduceAction378
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tatnode2 = nodearraylist1
-                                       assert tatnode2 isa nullable TAt
-                                       var toparnode3 = nodearraylist2
-                                       assert toparnode3 isa nullable TOpar
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tcparnode6 = nodearraylist6
-                                       assert tcparnode6 isa nullable TCpar
+                                       var listnode6 = new Array[Object]
+                                       var tatnode3 = nodearraylist1
+                                       assert tatnode3 isa nullable TAt
+                                       var toparnode4 = nodearraylist2
+                                       assert toparnode4 isa nullable TOpar
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcparnode7 = nodearraylist6
+                                       assert tcparnode7 isa nullable TCpar
                                        var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               tatnode2,
-                                               toparnode3,
-                                               listnode5,
-                                               tcparnode6
+                                               null,
+                                               tatnode3,
+                                               toparnode4,
+                                               listnode6,
+                                               tcparnode7,
+                                               null
                                        )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction379
+private class ReduceAction406
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9459,7 +9736,7 @@ private class ReduceAction379
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction381
+private class ReduceAction408
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9491,7 +9768,7 @@ private class ReduceAction381
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction382
+private class ReduceAction409
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9525,37 +9802,17 @@ private class ReduceAction382
                                                null,
                                                tkwredefnode3,
                                                pvisibilitynode4,
-                                               patidnode5,
-                                               toparnode6,
-                                               listnode8,
-                                               tcparnode9,
-                                               pannotationsnode10
-                                       )
-                                       node_list = pannotationnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction383
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var listnode4 = nodearraylist1
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode5,
-                                               null
+                                               patidnode5,
+                                               toparnode6,
+                                               listnode8,
+                                               tcparnode9,
+                                               pannotationsnode10
                                        )
-                                       node_list = pannotationsnode1
+                                       node_list = pannotationnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction384
+private class ReduceAction410
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9570,7 +9827,7 @@ private class ReduceAction384
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction385
+private class ReduceAction411
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9589,7 +9846,7 @@ private class ReduceAction385
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction388
+private class ReduceAction414
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9624,7 +9881,7 @@ private class ReduceAction388
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction390
+private class ReduceAction416
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9637,7 +9894,7 @@ private class ReduceAction390
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction392
+private class ReduceAction417
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9670,7 +9927,7 @@ private class ReduceAction392
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction393
+private class ReduceAction418
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9706,7 +9963,7 @@ private class ReduceAction393
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction394
+private class ReduceAction419
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9750,7 +10007,7 @@ private class ReduceAction394
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction395
+private class ReduceAction420
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9797,7 +10054,7 @@ private class ReduceAction395
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction396
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9834,12 +10091,11 @@ private class ReduceAction396
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction397
+private class ReduceAction422
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode7 = new Array[Object]
@@ -9847,7 +10103,7 @@ private class ReduceAction397
                                        assert pdocnode2 isa nullable ADoc
                                        var patidnode5 = nodearraylist2
                                        assert patidnode5 isa nullable AAtid
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9857,16 +10113,15 @@ private class ReduceAction397
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction398
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
@@ -9877,7 +10132,7 @@ private class ReduceAction398
                                        assert patidnode5 isa nullable AAtid
                                        var pannotationsnode9 = nodearraylist3
                                        assert pannotationsnode9 isa nullable AAnnotations
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9887,16 +10142,15 @@ private class ReduceAction398
                                                null,
                                                pannotationsnode9
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction399
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
@@ -9915,7 +10169,7 @@ private class ReduceAction399
                                        listnode8 = concat(listnode8, listnode7)
                                        var tcparnode9 = nodearraylist6
                                        assert tcparnode9 isa nullable TCpar
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9925,16 +10179,15 @@ private class ReduceAction399
                                                tcparnode9,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction400
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
@@ -9956,7 +10209,7 @@ private class ReduceAction400
                                        assert tcparnode9 isa nullable TCpar
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9966,16 +10219,15 @@ private class ReduceAction400
                                                tcparnode9,
                                                pannotationsnode10
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction401
+private class ReduceAction426
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
@@ -9987,7 +10239,7 @@ private class ReduceAction401
                                        var listnode7 = nodearraylist3
                                        assert listnode7 isa Array[Object]
                                        listnode8 = concat(listnode8, listnode7)
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9997,11 +10249,11 @@ private class ReduceAction401
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction405
+private class ReduceAction430
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10016,7 +10268,7 @@ private class ReduceAction405
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction408
+private class ReduceAction433
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10037,7 +10289,7 @@ private class ReduceAction408
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction409
+private class ReduceAction434
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10054,7 +10306,7 @@ private class ReduceAction409
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction410
+private class ReduceAction435
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10069,7 +10321,7 @@ private class ReduceAction410
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction411
+private class ReduceAction436
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10084,7 +10336,7 @@ private class ReduceAction411
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction412
+private class ReduceAction437
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10099,7 +10351,7 @@ private class ReduceAction412
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction413
+private class ReduceAction438
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10114,7 +10366,7 @@ private class ReduceAction413
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction414
+private class ReduceAction439
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10140,7 +10392,7 @@ private class ReduceAction414
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction415
+private class ReduceAction440
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10162,7 +10414,7 @@ private class ReduceAction415
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction417
+private class ReduceAction442
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10181,7 +10433,7 @@ private class ReduceAction417
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction419
+private class ReduceAction444
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10194,7 +10446,7 @@ private class ReduceAction419
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction420
+private class ReduceAction445
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10220,24 +10472,7 @@ private class ReduceAction420
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction421
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode3
-                                       )
-                                       node_list = pexprsnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction423
+private class ReduceAction447
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10257,7 +10492,7 @@ private class ReduceAction423
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction424
+private class ReduceAction448
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10271,7 +10506,7 @@ private class ReduceAction424
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction425
+private class ReduceAction449
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10289,7 +10524,7 @@ private class ReduceAction425
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction426
+private class ReduceAction450
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10303,7 +10538,7 @@ private class ReduceAction426
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction427
+private class ReduceAction451
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10318,7 +10553,7 @@ private class ReduceAction427
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction428
+private class ReduceAction452
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10339,7 +10574,7 @@ private class ReduceAction428
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction429
+private class ReduceAction453
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10357,7 +10592,7 @@ private class ReduceAction429
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction430
+private class ReduceAction454
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10379,7 +10614,7 @@ private class ReduceAction430
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction431
+private class ReduceAction455
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10401,7 +10636,7 @@ private class ReduceAction431
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction432
+private class ReduceAction456
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10427,7 +10662,7 @@ private class ReduceAction432
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction433
+private class ReduceAction457
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10444,7 +10679,7 @@ private class ReduceAction433
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction434
+private class ReduceAction458
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10465,7 +10700,7 @@ private class ReduceAction434
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction435
+private class ReduceAction459
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10483,7 +10718,7 @@ private class ReduceAction435
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction437
+private class ReduceAction461
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10494,7 +10729,7 @@ private class ReduceAction437
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction438
+private class ReduceAction462
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10506,7 +10741,7 @@ private class ReduceAction438
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction439
+private class ReduceAction463
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10519,7 +10754,7 @@ private class ReduceAction439
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction441
+private class ReduceAction465
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10530,7 +10765,7 @@ private class ReduceAction441
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction442
+private class ReduceAction466
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10542,7 +10777,7 @@ private class ReduceAction442
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction443
+private class ReduceAction467
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10555,7 +10790,7 @@ private class ReduceAction443
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction445
+private class ReduceAction469
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10568,7 +10803,7 @@ private class ReduceAction445
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction446
+private class ReduceAction470
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10581,7 +10816,7 @@ private class ReduceAction446
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction448
+private class ReduceAction472
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10592,7 +10827,7 @@ private class ReduceAction448
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction449
+private class ReduceAction473
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10601,7 +10836,7 @@ private class ReduceAction449
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction451
+private class ReduceAction476
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10618,7 +10853,7 @@ private class ReduceAction451
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction452
+private class ReduceAction477
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10636,39 +10871,98 @@ private class ReduceAction452
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction455
+private class ReduceAction480
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pdocnode1 = nodearraylist1
+                                       node_list = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction482
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       node_list = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction483
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist2
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction456
+private class ReduceAction484
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist3
+                                       node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction457
+private class ReduceAction486
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist4
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction488
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist1
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction489
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction492
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction786
+private class ReduceAction859
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10692,7 +10986,7 @@ private class ReduceAction786
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction788
+private class ReduceAction861
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10712,7 +11006,7 @@ private class ReduceAction788
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction789
+private class ReduceAction862
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10735,7 +11029,7 @@ private class ReduceAction789
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction790
+private class ReduceAction863
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10759,7 +11053,7 @@ private class ReduceAction790
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction791
+private class ReduceAction864
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10783,7 +11077,7 @@ private class ReduceAction791
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction792
+private class ReduceAction865
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10808,7 +11102,7 @@ private class ReduceAction792
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction799
+private class ReduceAction872
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10831,7 +11125,7 @@ private class ReduceAction799
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction800
+private class ReduceAction873
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10855,7 +11149,7 @@ private class ReduceAction800
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction823
+private class ReduceAction900
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10868,7 +11162,7 @@ private class ReduceAction823
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction824
+private class ReduceAction901
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10878,7 +11172,7 @@ private class ReduceAction824
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction974
+private class ReduceAction1062
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10893,7 +11187,7 @@ private class ReduceAction974
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction975
+private class ReduceAction1063
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10912,7 +11206,7 @@ private class ReduceAction975
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction976
+private class ReduceAction1064
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10927,7 +11221,7 @@ private class ReduceAction976
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction977
+private class ReduceAction1065
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10946,7 +11240,7 @@ private class ReduceAction977
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction978
+private class ReduceAction1066
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10961,7 +11255,7 @@ private class ReduceAction978
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction979
+private class ReduceAction1067
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10980,22 +11274,7 @@ private class ReduceAction979
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction980
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var psuperclassnode1 = nodearraylist1
-                                       if psuperclassnode1 != null then
-                                               listnode2.add(psuperclassnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction981
+private class ReduceAction1069
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11005,31 +11284,16 @@ private class ReduceAction981
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var psuperclassnode2 = nodearraylist2
+                                       var pformaldefnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if psuperclassnode2 != null then
-                                               listnode3.add(psuperclassnode2)
+                                       if pformaldefnode2 != null then
+                                               listnode3.add(pformaldefnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction982
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var ppropdefnode1 = nodearraylist1
-                                       if ppropdefnode1 != null then
-                                               listnode2.add(ppropdefnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction983
+private class ReduceAction1071
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11048,22 +11312,7 @@ private class ReduceAction983
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction984
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pformaldefnode1 = nodearraylist1
-                                       if pformaldefnode1 != null then
-                                               listnode2.add(pformaldefnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction985
+private class ReduceAction1073
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11073,16 +11322,16 @@ private class ReduceAction985
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var pformaldefnode2 = nodearraylist2
+                                       var pannotationnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if pformaldefnode2 != null then
-                                               listnode3.add(pformaldefnode2)
+                                       if pannotationnode2 != null then
+                                               listnode3.add(pannotationnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction986
+private class ReduceAction1074
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11097,7 +11346,7 @@ private class ReduceAction986
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction987
+private class ReduceAction1075
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11116,7 +11365,7 @@ private class ReduceAction987
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction988
+private class ReduceAction1076
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11131,7 +11380,7 @@ private class ReduceAction988
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction989
+private class ReduceAction1077
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11150,7 +11399,7 @@ private class ReduceAction989
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction991
+private class ReduceAction1079
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11169,7 +11418,7 @@ private class ReduceAction991
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction993
+private class ReduceAction1081
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11188,7 +11437,7 @@ private class ReduceAction993
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction999
+private class ReduceAction1087
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11206,26 +11455,7 @@ private class ReduceAction999
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1001
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       var pannotationnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if pannotationnode2 != null then
-                                               listnode3.add(pannotationnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1011
+private class ReduceAction1095
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11244,7 +11474,7 @@ private class ReduceAction1011
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1012
+private class ReduceAction1096
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11259,7 +11489,7 @@ private class ReduceAction1012
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1013
+private class ReduceAction1097
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11278,37 +11508,3 @@ private class ReduceAction1013
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1014
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var teolnode1 = nodearraylist1
-                                       if teolnode1 != null then
-                                               listnode2.add(teolnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1015
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       var teolnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if teolnode2 != null then
-                                               listnode3.add(teolnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end