src/doc: clean signature HTML output with `html_signature` and `html_short_signature`
[nit.git] / src / parser / parser.nit
index cb93087..a5172f7 100644 (file)
@@ -38,986 +38,1005 @@ redef class Parser
                        new ReduceAction24(5),
                        new ReduceAction26(6),
                        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 ReduceAction29(7),
+                       new ReduceAction30(8),
+                       new ReduceAction31(8),
+                       new ReduceAction32(8),
+                       new ReduceAction33(8),
+                       new ReduceAction34(8),
+                       new ReduceAction35(9),
+                       new ReduceAction36(9),
+                       new ReduceAction37(9),
+                       new ReduceAction38(10),
+                       new ReduceAction39(11),
+                       new ReduceAction40(11),
+                       new ReduceAction41(12),
+                       new ReduceAction42(13),
+                       new ReduceAction43(13),
+                       new ReduceAction44(13),
+                       new ReduceAction45(14),
+                       new ReduceAction46(15),
+                       new ReduceAction47(15),
+                       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 ReduceAction72(15),
+                       new ReduceAction74(16),
+                       new ReduceAction75(16),
+                       new ReduceAction22(16),
+                       new ReduceAction74(17),
+                       new ReduceAction78(17),
+                       new ReduceAction79(18),
+                       new ReduceAction80(18),
+                       new ReduceAction81(18),
+                       new ReduceAction82(18),
+                       new ReduceAction83(18),
+                       new ReduceAction84(19),
+                       new ReduceAction85(19),
+                       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(20),
+                       new ReduceAction104(20),
+                       new ReduceAction105(20),
+                       new ReduceAction106(20),
+                       new ReduceAction107(21),
+                       new ReduceAction108(21),
+                       new ReduceAction37(21),
+                       new ReduceAction110(22),
+                       new ReduceAction111(23),
+                       new ReduceAction112(23),
+                       new ReduceAction113(23),
+                       new ReduceAction114(23),
+                       new ReduceAction115(23),
+                       new ReduceAction116(24),
+                       new ReduceAction117(24),
+                       new ReduceAction22(24),
+                       new ReduceAction119(25),
+                       new ReduceAction120(26),
+                       new ReduceAction120(26),
+                       new ReduceAction122(26),
+                       new ReduceAction123(27),
+                       new ReduceAction124(27),
+                       new ReduceAction125(27),
+                       new ReduceAction126(28),
+                       new ReduceAction127(28),
+                       new ReduceAction128(28),
+                       new ReduceAction129(28),
+                       new ReduceAction130(28),
+                       new ReduceAction131(28),
+                       new ReduceAction22(29),
+                       new ReduceAction133(29),
+                       new ReduceAction134(30),
+                       new ReduceAction135(31),
+                       new ReduceAction136(31),
+                       new ReduceAction137(32),
+                       new ReduceAction22(32),
+                       new ReduceAction139(33),
+                       new ReduceAction140(34),
+                       new ReduceAction141(34),
+                       new ReduceAction142(34),
+                       new ReduceAction143(34),
+                       new ReduceAction144(35),
+                       new ReduceAction145(35),
+                       new ReduceAction146(36),
+                       new ReduceAction146(37),
+                       new ReduceAction146(38),
+                       new ReduceAction22(38),
+                       new ReduceAction150(39),
+                       new ReduceAction151(39),
+                       new ReduceAction152(39),
+                       new ReduceAction153(39),
+                       new ReduceAction154(40),
+                       new ReduceAction155(40),
+                       new ReduceAction156(41),
+                       new ReduceAction157(41),
+                       new ReduceAction158(42),
                        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 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 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 ReduceAction297(62),
-                       new ReduceAction162(63),
-                       new ReduceAction299(63),
-                       new ReduceAction300(63),
-                       new ReduceAction162(64),
-                       new ReduceAction302(64),
-                       new ReduceAction303(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 ReduceAction150(43),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction163(44),
+                       new ReduceAction164(44),
+                       new ReduceAction165(44),
+                       new ReduceAction166(44),
+                       new ReduceAction167(44),
+                       new ReduceAction168(44),
+                       new ReduceAction169(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction153(44),
+                       new ReduceAction177(44),
+                       new ReduceAction178(44),
+                       new ReduceAction179(44),
+                       new ReduceAction178(44),
+                       new ReduceAction181(44),
+                       new ReduceAction182(44),
+                       new ReduceAction183(44),
+                       new ReduceAction182(44),
+                       new ReduceAction185(44),
+                       new ReduceAction186(44),
+                       new ReduceAction187(44),
+                       new ReduceAction188(44),
+                       new ReduceAction189(44),
+                       new ReduceAction188(44),
+                       new ReduceAction191(44),
+                       new ReduceAction192(44),
+                       new ReduceAction191(44),
+                       new ReduceAction194(44),
+                       new ReduceAction195(45),
+                       new ReduceAction196(45),
+                       new ReduceAction197(46),
+                       new ReduceAction198(46),
+                       new ReduceAction199(46),
+                       new ReduceAction200(46),
+                       new ReduceAction201(47),
+                       new ReduceAction202(47),
+                       new ReduceAction203(47),
+                       new ReduceAction204(47),
+                       new ReduceAction205(47),
+                       new ReduceAction206(47),
+                       new ReduceAction207(47),
+                       new ReduceAction208(47),
+                       new ReduceAction205(47),
+                       new ReduceAction206(47),
+                       new ReduceAction211(47),
+                       new ReduceAction212(47),
+                       new ReduceAction213(47),
+                       new ReduceAction214(47),
+                       new ReduceAction215(47),
+                       new ReduceAction216(47),
+                       new ReduceAction213(47),
+                       new ReduceAction214(47),
+                       new ReduceAction219(47),
+                       new ReduceAction220(47),
+                       new ReduceAction221(47),
+                       new ReduceAction222(47),
+                       new ReduceAction223(47),
+                       new ReduceAction224(47),
+                       new ReduceAction225(47),
+                       new ReduceAction226(47),
+                       new ReduceAction227(47),
+                       new ReduceAction224(47),
+                       new ReduceAction225(47),
+                       new ReduceAction230(47),
+                       new ReduceAction231(47),
+                       new ReduceAction232(47),
+                       new ReduceAction233(47),
+                       new ReduceAction234(47),
+                       new ReduceAction235(47),
+                       new ReduceAction232(47),
+                       new ReduceAction233(47),
+                       new ReduceAction238(47),
+                       new ReduceAction239(48),
+                       new ReduceAction240(48),
+                       new ReduceAction241(48),
+                       new ReduceAction242(48),
+                       new ReduceAction243(48),
+                       new ReduceAction244(48),
+                       new ReduceAction245(48),
+                       new ReduceAction246(48),
+                       new ReduceAction247(49),
+                       new ReduceAction248(49),
+                       new ReduceAction249(50),
+                       new ReduceAction250(50),
+                       new ReduceAction251(50),
+                       new ReduceAction252(50),
+                       new ReduceAction253(50),
+                       new ReduceAction150(51),
+                       new ReduceAction152(51),
+                       new ReduceAction256(52),
+                       new ReduceAction257(52),
+                       new ReduceAction258(53),
+                       new ReduceAction259(53),
+                       new ReduceAction260(54),
+                       new ReduceAction261(54),
+                       new ReduceAction262(55),
+                       new ReduceAction263(55),
+                       new ReduceAction264(56),
+                       new ReduceAction265(56),
+                       new ReduceAction153(56),
+                       new ReduceAction267(57),
+                       new ReduceAction268(57),
+                       new ReduceAction269(57),
+                       new ReduceAction270(57),
+                       new ReduceAction271(58),
+                       new ReduceAction153(59),
+                       new ReduceAction273(59),
+                       new ReduceAction153(60),
+                       new ReduceAction275(60),
+                       new ReduceAction276(60),
+                       new ReduceAction277(60),
+                       new ReduceAction278(60),
+                       new ReduceAction153(61),
+                       new ReduceAction280(61),
+                       new ReduceAction153(62),
+                       new ReduceAction282(62),
+                       new ReduceAction283(62),
+                       new ReduceAction284(62),
+                       new ReduceAction285(62),
+                       new ReduceAction286(62),
+                       new ReduceAction287(62),
+                       new ReduceAction288(62),
+                       new ReduceAction289(62),
+                       new ReduceAction290(62),
+                       new ReduceAction291(62),
+                       new ReduceAction153(63),
+                       new ReduceAction293(63),
+                       new ReduceAction294(63),
+                       new ReduceAction153(64),
+                       new ReduceAction296(64),
+                       new ReduceAction297(64),
+                       new ReduceAction298(64),
+                       new ReduceAction153(65),
+                       new ReduceAction300(65),
+                       new ReduceAction153(66),
+                       new ReduceAction302(66),
+                       new ReduceAction303(66),
+                       new ReduceAction304(66),
+                       new ReduceAction153(67),
+                       new ReduceAction306(67),
+                       new ReduceAction307(67),
+                       new ReduceAction308(67),
+                       new ReduceAction309(67),
+                       new ReduceAction153(68),
+                       new ReduceAction311(68),
+                       new ReduceAction312(68),
+                       new ReduceAction177(68),
+                       new ReduceAction314(68),
+                       new ReduceAction178(68),
+                       new ReduceAction316(68),
+                       new ReduceAction179(68),
+                       new ReduceAction318(68),
+                       new ReduceAction178(68),
+                       new ReduceAction316(68),
+                       new ReduceAction181(68),
+                       new ReduceAction322(68),
+                       new ReduceAction182(68),
+                       new ReduceAction324(68),
+                       new ReduceAction183(68),
+                       new ReduceAction326(68),
+                       new ReduceAction182(68),
+                       new ReduceAction324(68),
+                       new ReduceAction185(68),
+                       new ReduceAction330(68),
+                       new ReduceAction186(68),
+                       new ReduceAction332(68),
+                       new ReduceAction187(68),
+                       new ReduceAction334(68),
+                       new ReduceAction335(68),
+                       new ReduceAction336(68),
+                       new ReduceAction337(68),
+                       new ReduceAction338(68),
+                       new ReduceAction339(68),
+                       new ReduceAction340(68),
+                       new ReduceAction341(68),
+                       new ReduceAction338(68),
+                       new ReduceAction339(68),
+                       new ReduceAction344(68),
+                       new ReduceAction345(68),
+                       new ReduceAction346(68),
+                       new ReduceAction347(68),
+                       new ReduceAction348(69),
+                       new ReduceAction349(69),
+                       new ReduceAction350(69),
+                       new ReduceAction351(69),
+                       new ReduceAction352(69),
+                       new ReduceAction353(69),
+                       new ReduceAction354(69),
+                       new ReduceAction355(69),
+                       new ReduceAction356(69),
+                       new ReduceAction153(69),
+                       new ReduceAction153(69),
+                       new ReduceAction359(69),
+                       new ReduceAction360(69),
                        new ReduceAction361(69),
                        new ReduceAction362(70),
-                       new ReduceAction363(70),
+                       new ReduceAction362(70),
                        new ReduceAction364(71),
-                       new ReduceAction365(71),
-                       new ReduceAction366(72),
-                       new ReduceAction364(73),
-                       new ReduceAction365(73),
-                       new ReduceAction369(74),
-                       new ReduceAction370(75),
-                       new ReduceAction371(76),
+                       new ReduceAction365(72),
+                       new ReduceAction366(73),
+                       new ReduceAction367(73),
+                       new ReduceAction365(74),
+                       new ReduceAction369(75),
+                       new ReduceAction261(75),
+                       new ReduceAction371(75),
                        new ReduceAction372(76),
-                       new ReduceAction373(77),
-                       new ReduceAction22(77),
-                       new ReduceAction375(78),
+                       new ReduceAction373(76),
+                       new ReduceAction374(77),
+                       new ReduceAction375(77),
                        new ReduceAction376(78),
-                       new ReduceAction377(79),
-                       new ReduceAction378(80),
+                       new ReduceAction374(79),
+                       new ReduceAction375(79),
                        new ReduceAction379(80),
-                       new ReduceAction375(81),
-                       new ReduceAction376(81),
-                       new ReduceAction382(81),
-                       new ReduceAction162(82),
-                       new ReduceAction384(83),
-                       new ReduceAction377(84),
-                       new ReduceAction386(85),
+                       new ReduceAction380(81),
+                       new ReduceAction381(82),
+                       new ReduceAction382(82),
+                       new ReduceAction383(83),
+                       new ReduceAction22(83),
+                       new ReduceAction385(84),
+                       new ReduceAction386(84),
                        new ReduceAction387(85),
-                       new ReduceAction388(85),
-                       new ReduceAction389(85),
-                       new ReduceAction390(85),
-                       new ReduceAction391(86),
-                       new ReduceAction392(86),
-                       new ReduceAction393(86),
-                       new ReduceAction394(86),
-                       new ReduceAction395(86),
-                       new ReduceAction396(87),
-                       new ReduceAction397(87),
-                       new ReduceAction361(88),
-                       new ReduceAction399(89),
-                       new ReduceAction162(89),
-                       new ReduceAction162(89),
-                       new ReduceAction402(89),
-                       new ReduceAction403(89),
-                       new ReduceAction404(89),
-                       new ReduceAction405(90),
-                       new ReduceAction406(90),
-                       new ReduceAction407(90),
-                       new ReduceAction408(91),
-                       new ReduceAction409(91),
-                       new ReduceAction408(92),
-                       new ReduceAction411(92),
-                       new ReduceAction409(92),
-                       new ReduceAction413(92),
-                       new ReduceAction414(93),
-                       new ReduceAction415(94),
-                       new ReduceAction365(95),
-                       new ReduceAction417(95),
-                       new ReduceAction418(96),
+                       new ReduceAction388(86),
+                       new ReduceAction389(86),
+                       new ReduceAction385(87),
+                       new ReduceAction386(87),
+                       new ReduceAction392(87),
+                       new ReduceAction153(88),
+                       new ReduceAction394(89),
+                       new ReduceAction387(90),
+                       new ReduceAction396(91),
+                       new ReduceAction397(91),
+                       new ReduceAction398(91),
+                       new ReduceAction399(91),
+                       new ReduceAction400(91),
+                       new ReduceAction401(92),
+                       new ReduceAction402(92),
+                       new ReduceAction403(92),
+                       new ReduceAction404(92),
+                       new ReduceAction405(92),
+                       new ReduceAction366(93),
+                       new ReduceAction367(93),
+                       new ReduceAction365(94),
+                       new ReduceAction409(95),
+                       new ReduceAction153(95),
+                       new ReduceAction153(95),
+                       new ReduceAction412(95),
+                       new ReduceAction413(95),
+                       new ReduceAction414(95),
+                       new ReduceAction415(96),
+                       new ReduceAction416(96),
+                       new ReduceAction417(96),
+                       new ReduceAction418(97),
                        new ReduceAction419(97),
-                       new ReduceAction420(97),
+                       new ReduceAction418(98),
                        new ReduceAction421(98),
-                       new ReduceAction422(98),
-                       new ReduceAction423(99),
+                       new ReduceAction419(98),
+                       new ReduceAction423(98),
                        new ReduceAction424(99),
-                       new ReduceAction425(99),
-                       new ReduceAction426(99),
-                       new ReduceAction427(100),
-                       new ReduceAction428(100),
-                       new ReduceAction429(100),
-                       new ReduceAction22(100),
-                       new ReduceAction431(101),
-                       new ReduceAction432(101),
-                       new ReduceAction433(101),
-                       new ReduceAction432(101),
-                       new ReduceAction435(102),
-                       new ReduceAction436(102),
-                       new ReduceAction437(102),
-                       new ReduceAction436(102),
-                       new ReduceAction439(103),
-                       new ReduceAction440(104),
-                       new ReduceAction22(105),
-                       new ReduceAction442(105),
-                       new ReduceAction443(106),
-                       new ReduceAction443(106),
-                       new ReduceAction445(107),
-                       new ReduceAction446(107),
-                       new ReduceAction23(107),
-                       new ReduceAction22(108),
-                       new ReduceAction449(108),
-                       new ReduceAction450(109),
-                       new ReduceAction451(109),
-                       new ReduceAction443(109),
-                       new ReduceAction56(110),
-                       new ReduceAction57(111),
-                       new ReduceAction58(111),
-                       new ReduceAction59(111),
-                       new ReduceAction66(111),
-                       new ReduceAction67(111),
-                       new ReduceAction83(112),
-                       new ReduceAction84(112),
-                       new ReduceAction93(113),
-                       new ReduceAction94(113),
-                       new ReduceAction95(113),
-                       new ReduceAction96(113),
-                       new ReduceAction97(113),
-                       new ReduceAction98(113),
-                       new ReduceAction99(113),
-                       new ReduceAction100(113),
-                       new ReduceAction101(113),
-                       new ReduceAction102(113),
-                       new ReduceAction103(113),
-                       new ReduceAction104(113),
-                       new ReduceAction105(113),
-                       new ReduceAction106(113),
-                       new ReduceAction107(113),
-                       new ReduceAction108(113),
-                       new ReduceAction109(113),
-                       new ReduceAction110(113),
-                       new ReduceAction435(114),
-                       new ReduceAction436(114),
-                       new ReduceAction437(114),
-                       new ReduceAction436(114),
-                       new ReduceAction149(115),
-                       new ReduceAction150(115),
-                       new ReduceAction162(116),
-                       new ReduceAction270(116),
-                       new ReduceAction162(117),
-                       new ReduceAction272(117),
-                       new ReduceAction273(117),
-                       new ReduceAction274(117),
-                       new ReduceAction275(117),
-                       new ReduceAction162(118),
-                       new ReduceAction277(118),
-                       new ReduceAction162(119),
-                       new ReduceAction279(119),
-                       new ReduceAction280(119),
-                       new ReduceAction281(119),
-                       new ReduceAction282(119),
-                       new ReduceAction283(119),
-                       new ReduceAction284(119),
-                       new ReduceAction285(119),
-                       new ReduceAction286(119),
-                       new ReduceAction287(119),
-                       new ReduceAction288(119),
-                       new ReduceAction162(120),
-                       new ReduceAction290(120),
-                       new ReduceAction291(120),
-                       new ReduceAction162(121),
-                       new ReduceAction293(121),
-                       new ReduceAction294(121),
-                       new ReduceAction295(121),
-                       new ReduceAction162(122),
-                       new ReduceAction297(122),
-                       new ReduceAction162(123),
-                       new ReduceAction299(123),
-                       new ReduceAction300(123),
-                       new ReduceAction162(124),
-                       new ReduceAction302(124),
-                       new ReduceAction303(124),
-                       new ReduceAction304(124),
-                       new ReduceAction305(124),
-                       new ReduceAction162(125),
-                       new ReduceAction307(125),
-                       new ReduceAction308(125),
-                       new ReduceAction185(125),
-                       new ReduceAction189(125),
-                       new ReduceAction310(125),
-                       new ReduceAction318(125),
-                       new ReduceAction186(125),
-                       new ReduceAction190(125),
-                       new ReduceAction312(125),
-                       new ReduceAction320(125),
-                       new ReduceAction187(125),
-                       new ReduceAction191(125),
-                       new ReduceAction314(125),
-                       new ReduceAction322(125),
-                       new ReduceAction186(125),
-                       new ReduceAction190(125),
-                       new ReduceAction312(125),
-                       new ReduceAction320(125),
-                       new ReduceAction193(125),
-                       new ReduceAction326(125),
-                       new ReduceAction194(125),
-                       new ReduceAction195(125),
-                       new ReduceAction328(125),
-                       new ReduceAction330(125),
-                       new ReduceAction332(125),
-                       new ReduceAction333(125),
-                       new ReduceAction334(125),
-                       new ReduceAction335(125),
-                       new ReduceAction336(125),
-                       new ReduceAction337(125),
-                       new ReduceAction334(125),
-                       new ReduceAction335(125),
-                       new ReduceAction340(125),
-                       new ReduceAction341(125),
-                       new ReduceAction342(125),
-                       new ReduceAction343(125),
-                       new ReduceAction344(126),
-                       new ReduceAction345(126),
-                       new ReduceAction346(126),
-                       new ReduceAction347(126),
-                       new ReduceAction348(126),
-                       new ReduceAction349(126),
-                       new ReduceAction350(126),
-                       new ReduceAction351(126),
-                       new ReduceAction352(126),
-                       new ReduceAction162(126),
-                       new ReduceAction162(126),
-                       new ReduceAction149(127),
-                       new ReduceAction150(127),
-                       new ReduceAction151(127),
-                       new ReduceAction152(127),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction172(128),
-                       new ReduceAction173(128),
-                       new ReduceAction174(128),
-                       new ReduceAction175(128),
-                       new ReduceAction176(128),
-                       new ReduceAction177(128),
-                       new ReduceAction178(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction185(128),
-                       new ReduceAction186(128),
-                       new ReduceAction187(128),
-                       new ReduceAction186(128),
-                       new ReduceAction189(128),
-                       new ReduceAction190(128),
-                       new ReduceAction191(128),
-                       new ReduceAction190(128),
-                       new ReduceAction193(128),
-                       new ReduceAction194(128),
-                       new ReduceAction195(128),
-                       new ReduceAction196(128),
-                       new ReduceAction197(128),
-                       new ReduceAction196(128),
-                       new ReduceAction199(128),
-                       new ReduceAction200(128),
-                       new ReduceAction199(128),
-                       new ReduceAction202(128),
-                       new ReduceAction209(129),
-                       new ReduceAction210(129),
-                       new ReduceAction211(129),
-                       new ReduceAction212(129),
-                       new ReduceAction213(129),
-                       new ReduceAction214(129),
-                       new ReduceAction215(129),
-                       new ReduceAction216(129),
-                       new ReduceAction213(129),
-                       new ReduceAction214(129),
-                       new ReduceAction219(129),
-                       new ReduceAction220(129),
-                       new ReduceAction221(129),
-                       new ReduceAction222(129),
-                       new ReduceAction223(129),
-                       new ReduceAction224(129),
-                       new ReduceAction221(129),
-                       new ReduceAction222(129),
-                       new ReduceAction227(129),
-                       new ReduceAction228(129),
-                       new ReduceAction229(129),
-                       new ReduceAction230(129),
-                       new ReduceAction231(129),
-                       new ReduceAction232(129),
-                       new ReduceAction233(129),
-                       new ReduceAction234(129),
-                       new ReduceAction235(129),
-                       new ReduceAction232(129),
-                       new ReduceAction233(129),
-                       new ReduceAction238(129),
-                       new ReduceAction239(129),
-                       new ReduceAction240(129),
-                       new ReduceAction241(129),
-                       new ReduceAction242(129),
-                       new ReduceAction243(129),
-                       new ReduceAction240(129),
-                       new ReduceAction241(129),
-                       new ReduceAction246(129),
-                       new ReduceAction162(130),
-                       new ReduceAction270(130),
-                       new ReduceAction162(131),
-                       new ReduceAction272(131),
-                       new ReduceAction273(131),
-                       new ReduceAction274(131),
-                       new ReduceAction275(131),
-                       new ReduceAction162(132),
-                       new ReduceAction277(132),
-                       new ReduceAction162(133),
-                       new ReduceAction279(133),
-                       new ReduceAction280(133),
-                       new ReduceAction281(133),
-                       new ReduceAction282(133),
-                       new ReduceAction283(133),
-                       new ReduceAction284(133),
-                       new ReduceAction285(133),
-                       new ReduceAction286(133),
-                       new ReduceAction287(133),
-                       new ReduceAction288(133),
-                       new ReduceAction162(134),
-                       new ReduceAction290(134),
-                       new ReduceAction291(134),
-                       new ReduceAction162(135),
-                       new ReduceAction293(135),
-                       new ReduceAction294(135),
-                       new ReduceAction295(135),
-                       new ReduceAction162(136),
-                       new ReduceAction297(136),
-                       new ReduceAction162(137),
-                       new ReduceAction299(137),
-                       new ReduceAction300(137),
-                       new ReduceAction162(138),
-                       new ReduceAction302(138),
-                       new ReduceAction303(138),
-                       new ReduceAction304(138),
-                       new ReduceAction305(138),
-                       new ReduceAction162(139),
-                       new ReduceAction307(139),
-                       new ReduceAction308(139),
-                       new ReduceAction185(139),
-                       new ReduceAction310(139),
-                       new ReduceAction186(139),
-                       new ReduceAction312(139),
-                       new ReduceAction187(139),
-                       new ReduceAction314(139),
-                       new ReduceAction186(139),
-                       new ReduceAction312(139),
-                       new ReduceAction189(139),
-                       new ReduceAction318(139),
-                       new ReduceAction190(139),
-                       new ReduceAction320(139),
-                       new ReduceAction191(139),
-                       new ReduceAction322(139),
-                       new ReduceAction190(139),
-                       new ReduceAction320(139),
-                       new ReduceAction193(139),
-                       new ReduceAction326(139),
-                       new ReduceAction194(139),
-                       new ReduceAction328(139),
-                       new ReduceAction195(139),
-                       new ReduceAction330(139),
-                       new ReduceAction331(139),
-                       new ReduceAction332(139),
-                       new ReduceAction333(139),
-                       new ReduceAction334(139),
-                       new ReduceAction335(139),
-                       new ReduceAction336(139),
-                       new ReduceAction337(139),
-                       new ReduceAction334(139),
-                       new ReduceAction335(139),
-                       new ReduceAction340(139),
-                       new ReduceAction341(139),
-                       new ReduceAction342(139),
-                       new ReduceAction343(139),
-                       new ReduceAction344(140),
-                       new ReduceAction345(140),
-                       new ReduceAction346(140),
-                       new ReduceAction347(140),
-                       new ReduceAction348(140),
-                       new ReduceAction349(140),
-                       new ReduceAction350(140),
-                       new ReduceAction351(140),
-                       new ReduceAction352(140),
-                       new ReduceAction162(140),
-                       new ReduceAction371(141),
-                       new ReduceAction372(141),
-                       new ReduceAction373(142),
-                       new ReduceAction22(142),
-                       new ReduceAction375(143),
-                       new ReduceAction375(144),
-                       new ReduceAction396(145),
-                       new ReduceAction397(145),
-                       new ReduceAction399(146),
-                       new ReduceAction162(146),
-                       new ReduceAction162(146),
-                       new ReduceAction402(146),
-                       new ReduceAction403(146),
-                       new ReduceAction149(147),
-                       new ReduceAction150(147),
-                       new ReduceAction162(148),
-                       new ReduceAction270(148),
-                       new ReduceAction162(149),
-                       new ReduceAction272(149),
-                       new ReduceAction273(149),
-                       new ReduceAction274(149),
-                       new ReduceAction275(149),
-                       new ReduceAction162(150),
-                       new ReduceAction277(150),
-                       new ReduceAction162(151),
-                       new ReduceAction279(151),
-                       new ReduceAction280(151),
-                       new ReduceAction281(151),
-                       new ReduceAction282(151),
-                       new ReduceAction283(151),
-                       new ReduceAction284(151),
-                       new ReduceAction285(151),
-                       new ReduceAction286(151),
-                       new ReduceAction287(151),
-                       new ReduceAction288(151),
-                       new ReduceAction162(152),
-                       new ReduceAction290(152),
-                       new ReduceAction291(152),
-                       new ReduceAction162(153),
-                       new ReduceAction293(153),
-                       new ReduceAction294(153),
-                       new ReduceAction295(153),
-                       new ReduceAction162(154),
-                       new ReduceAction297(154),
-                       new ReduceAction162(155),
-                       new ReduceAction299(155),
-                       new ReduceAction300(155),
-                       new ReduceAction162(156),
-                       new ReduceAction302(156),
-                       new ReduceAction303(156),
-                       new ReduceAction780(156),
-                       new ReduceAction162(157),
-                       new ReduceAction782(157),
-                       new ReduceAction783(157),
-                       new ReduceAction784(157),
-                       new ReduceAction785(157),
-                       new ReduceAction786(157),
-                       new ReduceAction185(157),
-                       new ReduceAction310(157),
-                       new ReduceAction785(157),
-                       new ReduceAction786(157),
-                       new ReduceAction193(157),
-                       new ReduceAction326(157),
-                       new ReduceAction793(157),
-                       new ReduceAction794(157),
-                       new ReduceAction332(157),
-                       new ReduceAction333(157),
-                       new ReduceAction334(157),
-                       new ReduceAction335(157),
-                       new ReduceAction336(157),
-                       new ReduceAction337(157),
-                       new ReduceAction334(157),
-                       new ReduceAction335(157),
-                       new ReduceAction340(157),
-                       new ReduceAction341(157),
-                       new ReduceAction342(157),
-                       new ReduceAction343(157),
-                       new ReduceAction344(158),
-                       new ReduceAction345(158),
-                       new ReduceAction346(158),
-                       new ReduceAction347(158),
-                       new ReduceAction348(158),
-                       new ReduceAction349(158),
-                       new ReduceAction350(158),
-                       new ReduceAction351(158),
-                       new ReduceAction352(158),
-                       new ReduceAction162(158),
-                       new ReduceAction817(159),
-                       new ReduceAction818(159),
-                       new ReduceAction159(160),
-                       new ReduceAction160(160),
-                       new ReduceAction161(160),
-                       new ReduceAction162(160),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction172(161),
-                       new ReduceAction173(161),
-                       new ReduceAction174(161),
-                       new ReduceAction175(161),
-                       new ReduceAction176(161),
-                       new ReduceAction177(161),
-                       new ReduceAction178(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction185(161),
-                       new ReduceAction186(161),
-                       new ReduceAction187(161),
-                       new ReduceAction186(161),
-                       new ReduceAction189(161),
-                       new ReduceAction190(161),
-                       new ReduceAction191(161),
-                       new ReduceAction190(161),
-                       new ReduceAction193(161),
-                       new ReduceAction194(161),
-                       new ReduceAction195(161),
-                       new ReduceAction196(161),
-                       new ReduceAction197(161),
-                       new ReduceAction196(161),
-                       new ReduceAction199(161),
-                       new ReduceAction200(161),
-                       new ReduceAction199(161),
-                       new ReduceAction202(161),
-                       new ReduceAction249(162),
-                       new ReduceAction250(162),
-                       new ReduceAction251(163),
-                       new ReduceAction258(164),
-                       new ReduceAction259(164),
-                       new ReduceAction260(165),
-                       new ReduceAction261(165),
-                       new ReduceAction262(166),
-                       new ReduceAction263(166),
-                       new ReduceAction264(167),
-                       new ReduceAction265(167),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction172(168),
-                       new ReduceAction173(168),
-                       new ReduceAction174(168),
-                       new ReduceAction175(168),
-                       new ReduceAction176(168),
-                       new ReduceAction177(168),
-                       new ReduceAction178(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction185(168),
-                       new ReduceAction186(168),
-                       new ReduceAction187(168),
-                       new ReduceAction186(168),
-                       new ReduceAction189(168),
-                       new ReduceAction190(168),
-                       new ReduceAction191(168),
-                       new ReduceAction190(168),
-                       new ReduceAction193(168),
-                       new ReduceAction194(168),
-                       new ReduceAction195(168),
-                       new ReduceAction196(168),
-                       new ReduceAction197(168),
-                       new ReduceAction196(168),
-                       new ReduceAction199(168),
-                       new ReduceAction200(168),
-                       new ReduceAction199(168),
-                       new ReduceAction202(168),
-                       new ReduceAction159(169),
-                       new ReduceAction160(169),
-                       new ReduceAction161(169),
-                       new ReduceAction159(170),
-                       new ReduceAction160(170),
-                       new ReduceAction161(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 ReduceAction202(171),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction172(172),
-                       new ReduceAction173(172),
-                       new ReduceAction174(172),
-                       new ReduceAction175(172),
-                       new ReduceAction176(172),
-                       new ReduceAction177(172),
-                       new ReduceAction178(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction202(172),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction172(173),
-                       new ReduceAction173(173),
-                       new ReduceAction174(173),
-                       new ReduceAction175(173),
-                       new ReduceAction176(173),
-                       new ReduceAction177(173),
-                       new ReduceAction178(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction202(173),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction172(174),
-                       new ReduceAction173(174),
-                       new ReduceAction174(174),
-                       new ReduceAction175(174),
-                       new ReduceAction176(174),
+                       new ReduceAction425(100),
+                       new ReduceAction375(101),
+                       new ReduceAction427(101),
+                       new ReduceAction428(102),
+                       new ReduceAction429(103),
+                       new ReduceAction430(103),
+                       new ReduceAction431(104),
+                       new ReduceAction432(104),
+                       new ReduceAction433(105),
+                       new ReduceAction434(105),
+                       new ReduceAction435(105),
+                       new ReduceAction436(105),
+                       new ReduceAction437(106),
+                       new ReduceAction438(106),
+                       new ReduceAction439(106),
+                       new ReduceAction22(106),
+                       new ReduceAction441(107),
+                       new ReduceAction442(107),
+                       new ReduceAction443(107),
+                       new ReduceAction442(107),
+                       new ReduceAction445(108),
+                       new ReduceAction446(108),
+                       new ReduceAction447(108),
+                       new ReduceAction446(108),
+                       new ReduceAction449(109),
+                       new ReduceAction450(110),
+                       new ReduceAction22(111),
+                       new ReduceAction452(111),
+                       new ReduceAction453(112),
+                       new ReduceAction453(112),
+                       new ReduceAction455(113),
+                       new ReduceAction456(113),
+                       new ReduceAction23(113),
+                       new ReduceAction22(114),
+                       new ReduceAction459(114),
+                       new ReduceAction460(115),
+                       new ReduceAction461(115),
+                       new ReduceAction453(115),
+                       new ReduceAction46(116),
+                       new ReduceAction47(116),
+                       new ReduceAction48(116),
+                       new ReduceAction55(116),
+                       new ReduceAction56(116),
+                       new ReduceAction74(117),
+                       new ReduceAction75(117),
+                       new ReduceAction84(118),
+                       new ReduceAction85(118),
+                       new ReduceAction86(118),
+                       new ReduceAction87(118),
+                       new ReduceAction88(118),
+                       new ReduceAction89(118),
+                       new ReduceAction90(118),
+                       new ReduceAction91(118),
+                       new ReduceAction92(118),
+                       new ReduceAction93(118),
+                       new ReduceAction94(118),
+                       new ReduceAction95(118),
+                       new ReduceAction96(118),
+                       new ReduceAction97(118),
+                       new ReduceAction98(118),
+                       new ReduceAction99(118),
+                       new ReduceAction100(118),
+                       new ReduceAction101(118),
+                       new ReduceAction445(119),
+                       new ReduceAction446(119),
+                       new ReduceAction447(119),
+                       new ReduceAction446(119),
+                       new ReduceAction140(120),
+                       new ReduceAction141(120),
+                       new ReduceAction153(121),
+                       new ReduceAction273(121),
+                       new ReduceAction153(122),
+                       new ReduceAction275(122),
+                       new ReduceAction276(122),
+                       new ReduceAction277(122),
+                       new ReduceAction278(122),
+                       new ReduceAction153(123),
+                       new ReduceAction280(123),
+                       new ReduceAction153(124),
+                       new ReduceAction282(124),
+                       new ReduceAction283(124),
+                       new ReduceAction284(124),
+                       new ReduceAction285(124),
+                       new ReduceAction286(124),
+                       new ReduceAction287(124),
+                       new ReduceAction288(124),
+                       new ReduceAction289(124),
+                       new ReduceAction290(124),
+                       new ReduceAction291(124),
+                       new ReduceAction153(125),
+                       new ReduceAction293(125),
+                       new ReduceAction294(125),
+                       new ReduceAction153(126),
+                       new ReduceAction296(126),
+                       new ReduceAction297(126),
+                       new ReduceAction298(126),
+                       new ReduceAction153(127),
+                       new ReduceAction300(127),
+                       new ReduceAction153(128),
+                       new ReduceAction302(128),
+                       new ReduceAction303(128),
+                       new ReduceAction304(128),
+                       new ReduceAction153(129),
+                       new ReduceAction306(129),
+                       new ReduceAction307(129),
+                       new ReduceAction308(129),
+                       new ReduceAction309(129),
+                       new ReduceAction153(130),
+                       new ReduceAction311(130),
+                       new ReduceAction312(130),
+                       new ReduceAction177(130),
+                       new ReduceAction181(130),
+                       new ReduceAction314(130),
+                       new ReduceAction322(130),
+                       new ReduceAction178(130),
+                       new ReduceAction182(130),
+                       new ReduceAction316(130),
+                       new ReduceAction324(130),
+                       new ReduceAction179(130),
+                       new ReduceAction183(130),
+                       new ReduceAction318(130),
+                       new ReduceAction326(130),
+                       new ReduceAction178(130),
+                       new ReduceAction182(130),
+                       new ReduceAction316(130),
+                       new ReduceAction324(130),
+                       new ReduceAction185(130),
+                       new ReduceAction330(130),
+                       new ReduceAction186(130),
+                       new ReduceAction187(130),
+                       new ReduceAction332(130),
+                       new ReduceAction334(130),
+                       new ReduceAction336(130),
+                       new ReduceAction337(130),
+                       new ReduceAction338(130),
+                       new ReduceAction339(130),
+                       new ReduceAction340(130),
+                       new ReduceAction341(130),
+                       new ReduceAction338(130),
+                       new ReduceAction339(130),
+                       new ReduceAction344(130),
+                       new ReduceAction345(130),
+                       new ReduceAction346(130),
+                       new ReduceAction347(130),
+                       new ReduceAction348(131),
+                       new ReduceAction349(131),
+                       new ReduceAction350(131),
+                       new ReduceAction351(131),
+                       new ReduceAction352(131),
+                       new ReduceAction353(131),
+                       new ReduceAction354(131),
+                       new ReduceAction355(131),
+                       new ReduceAction356(131),
+                       new ReduceAction153(131),
+                       new ReduceAction153(131),
+                       new ReduceAction140(132),
+                       new ReduceAction141(132),
+                       new ReduceAction142(132),
+                       new ReduceAction143(132),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction163(133),
+                       new ReduceAction164(133),
+                       new ReduceAction165(133),
+                       new ReduceAction166(133),
+                       new ReduceAction167(133),
+                       new ReduceAction168(133),
+                       new ReduceAction169(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction153(133),
+                       new ReduceAction177(133),
+                       new ReduceAction178(133),
+                       new ReduceAction179(133),
+                       new ReduceAction178(133),
+                       new ReduceAction181(133),
+                       new ReduceAction182(133),
+                       new ReduceAction183(133),
+                       new ReduceAction182(133),
+                       new ReduceAction185(133),
+                       new ReduceAction186(133),
+                       new ReduceAction187(133),
+                       new ReduceAction188(133),
+                       new ReduceAction189(133),
+                       new ReduceAction188(133),
+                       new ReduceAction191(133),
+                       new ReduceAction192(133),
+                       new ReduceAction191(133),
+                       new ReduceAction194(133),
+                       new ReduceAction201(134),
+                       new ReduceAction202(134),
+                       new ReduceAction203(134),
+                       new ReduceAction204(134),
+                       new ReduceAction205(134),
+                       new ReduceAction206(134),
+                       new ReduceAction207(134),
+                       new ReduceAction208(134),
+                       new ReduceAction205(134),
+                       new ReduceAction206(134),
+                       new ReduceAction211(134),
+                       new ReduceAction212(134),
+                       new ReduceAction213(134),
+                       new ReduceAction214(134),
+                       new ReduceAction215(134),
+                       new ReduceAction216(134),
+                       new ReduceAction213(134),
+                       new ReduceAction214(134),
+                       new ReduceAction219(134),
+                       new ReduceAction220(134),
+                       new ReduceAction221(134),
+                       new ReduceAction222(134),
+                       new ReduceAction223(134),
+                       new ReduceAction224(134),
+                       new ReduceAction225(134),
+                       new ReduceAction226(134),
+                       new ReduceAction227(134),
+                       new ReduceAction224(134),
+                       new ReduceAction225(134),
+                       new ReduceAction230(134),
+                       new ReduceAction231(134),
+                       new ReduceAction232(134),
+                       new ReduceAction233(134),
+                       new ReduceAction234(134),
+                       new ReduceAction235(134),
+                       new ReduceAction232(134),
+                       new ReduceAction233(134),
+                       new ReduceAction238(134),
+                       new ReduceAction153(135),
+                       new ReduceAction273(135),
+                       new ReduceAction153(136),
+                       new ReduceAction275(136),
+                       new ReduceAction276(136),
+                       new ReduceAction277(136),
+                       new ReduceAction278(136),
+                       new ReduceAction153(137),
+                       new ReduceAction280(137),
+                       new ReduceAction153(138),
+                       new ReduceAction282(138),
+                       new ReduceAction283(138),
+                       new ReduceAction284(138),
+                       new ReduceAction285(138),
+                       new ReduceAction286(138),
+                       new ReduceAction287(138),
+                       new ReduceAction288(138),
+                       new ReduceAction289(138),
+                       new ReduceAction290(138),
+                       new ReduceAction291(138),
+                       new ReduceAction153(139),
+                       new ReduceAction293(139),
+                       new ReduceAction294(139),
+                       new ReduceAction153(140),
+                       new ReduceAction296(140),
+                       new ReduceAction297(140),
+                       new ReduceAction298(140),
+                       new ReduceAction153(141),
+                       new ReduceAction300(141),
+                       new ReduceAction153(142),
+                       new ReduceAction302(142),
+                       new ReduceAction303(142),
+                       new ReduceAction304(142),
+                       new ReduceAction153(143),
+                       new ReduceAction306(143),
+                       new ReduceAction307(143),
+                       new ReduceAction308(143),
+                       new ReduceAction309(143),
+                       new ReduceAction153(144),
+                       new ReduceAction311(144),
+                       new ReduceAction312(144),
+                       new ReduceAction177(144),
+                       new ReduceAction314(144),
+                       new ReduceAction178(144),
+                       new ReduceAction316(144),
+                       new ReduceAction179(144),
+                       new ReduceAction318(144),
+                       new ReduceAction178(144),
+                       new ReduceAction316(144),
+                       new ReduceAction181(144),
+                       new ReduceAction322(144),
+                       new ReduceAction182(144),
+                       new ReduceAction324(144),
+                       new ReduceAction183(144),
+                       new ReduceAction326(144),
+                       new ReduceAction182(144),
+                       new ReduceAction324(144),
+                       new ReduceAction185(144),
+                       new ReduceAction330(144),
+                       new ReduceAction186(144),
+                       new ReduceAction332(144),
+                       new ReduceAction187(144),
+                       new ReduceAction334(144),
+                       new ReduceAction335(144),
+                       new ReduceAction336(144),
+                       new ReduceAction337(144),
+                       new ReduceAction338(144),
+                       new ReduceAction339(144),
+                       new ReduceAction340(144),
+                       new ReduceAction341(144),
+                       new ReduceAction338(144),
+                       new ReduceAction339(144),
+                       new ReduceAction344(144),
+                       new ReduceAction345(144),
+                       new ReduceAction346(144),
+                       new ReduceAction347(144),
+                       new ReduceAction348(145),
+                       new ReduceAction349(145),
+                       new ReduceAction350(145),
+                       new ReduceAction351(145),
+                       new ReduceAction352(145),
+                       new ReduceAction353(145),
+                       new ReduceAction354(145),
+                       new ReduceAction355(145),
+                       new ReduceAction356(145),
+                       new ReduceAction153(145),
+                       new ReduceAction381(146),
+                       new ReduceAction382(146),
+                       new ReduceAction383(147),
+                       new ReduceAction22(147),
+                       new ReduceAction385(148),
+                       new ReduceAction385(149),
+                       new ReduceAction366(150),
+                       new ReduceAction367(150),
+                       new ReduceAction409(151),
+                       new ReduceAction153(151),
+                       new ReduceAction153(151),
+                       new ReduceAction412(151),
+                       new ReduceAction413(151),
+                       new ReduceAction140(152),
+                       new ReduceAction141(152),
+                       new ReduceAction153(153),
+                       new ReduceAction273(153),
+                       new ReduceAction153(154),
+                       new ReduceAction275(154),
+                       new ReduceAction276(154),
+                       new ReduceAction277(154),
+                       new ReduceAction278(154),
+                       new ReduceAction153(155),
+                       new ReduceAction280(155),
+                       new ReduceAction153(156),
+                       new ReduceAction282(156),
+                       new ReduceAction283(156),
+                       new ReduceAction284(156),
+                       new ReduceAction285(156),
+                       new ReduceAction286(156),
+                       new ReduceAction287(156),
+                       new ReduceAction288(156),
+                       new ReduceAction289(156),
+                       new ReduceAction290(156),
+                       new ReduceAction291(156),
+                       new ReduceAction153(157),
+                       new ReduceAction293(157),
+                       new ReduceAction294(157),
+                       new ReduceAction153(158),
+                       new ReduceAction296(158),
+                       new ReduceAction297(158),
+                       new ReduceAction298(158),
+                       new ReduceAction153(159),
+                       new ReduceAction300(159),
+                       new ReduceAction153(160),
+                       new ReduceAction302(160),
+                       new ReduceAction303(160),
+                       new ReduceAction304(160),
+                       new ReduceAction153(161),
+                       new ReduceAction306(161),
+                       new ReduceAction307(161),
+                       new ReduceAction793(161),
+                       new ReduceAction153(162),
+                       new ReduceAction795(162),
+                       new ReduceAction796(162),
+                       new ReduceAction797(162),
+                       new ReduceAction798(162),
+                       new ReduceAction799(162),
+                       new ReduceAction177(162),
+                       new ReduceAction314(162),
+                       new ReduceAction798(162),
+                       new ReduceAction799(162),
+                       new ReduceAction185(162),
+                       new ReduceAction330(162),
+                       new ReduceAction806(162),
+                       new ReduceAction807(162),
+                       new ReduceAction336(162),
+                       new ReduceAction337(162),
+                       new ReduceAction338(162),
+                       new ReduceAction339(162),
+                       new ReduceAction340(162),
+                       new ReduceAction341(162),
+                       new ReduceAction338(162),
+                       new ReduceAction339(162),
+                       new ReduceAction344(162),
+                       new ReduceAction345(162),
+                       new ReduceAction346(162),
+                       new ReduceAction347(162),
+                       new ReduceAction348(163),
+                       new ReduceAction349(163),
+                       new ReduceAction350(163),
+                       new ReduceAction351(163),
+                       new ReduceAction352(163),
+                       new ReduceAction353(163),
+                       new ReduceAction354(163),
+                       new ReduceAction355(163),
+                       new ReduceAction356(163),
+                       new ReduceAction153(163),
+                       new ReduceAction830(164),
+                       new ReduceAction831(164),
+                       new ReduceAction150(165),
+                       new ReduceAction151(165),
+                       new ReduceAction152(165),
+                       new ReduceAction153(165),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction163(166),
+                       new ReduceAction164(166),
+                       new ReduceAction165(166),
+                       new ReduceAction166(166),
+                       new ReduceAction167(166),
+                       new ReduceAction168(166),
+                       new ReduceAction169(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction153(166),
+                       new ReduceAction177(166),
+                       new ReduceAction178(166),
+                       new ReduceAction179(166),
+                       new ReduceAction178(166),
+                       new ReduceAction181(166),
+                       new ReduceAction182(166),
+                       new ReduceAction183(166),
+                       new ReduceAction182(166),
+                       new ReduceAction185(166),
+                       new ReduceAction186(166),
+                       new ReduceAction187(166),
+                       new ReduceAction188(166),
+                       new ReduceAction189(166),
+                       new ReduceAction188(166),
+                       new ReduceAction191(166),
+                       new ReduceAction192(166),
+                       new ReduceAction191(166),
+                       new ReduceAction194(166),
+                       new ReduceAction247(167),
+                       new ReduceAction248(167),
+                       new ReduceAction249(168),
+                       new ReduceAction256(169),
+                       new ReduceAction257(169),
+                       new ReduceAction258(170),
+                       new ReduceAction259(170),
+                       new ReduceAction260(171),
+                       new ReduceAction261(171),
+                       new ReduceAction262(172),
+                       new ReduceAction263(172),
+                       new ReduceAction267(173),
+                       new ReduceAction268(173),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction163(174),
+                       new ReduceAction164(174),
+                       new ReduceAction165(174),
+                       new ReduceAction166(174),
+                       new ReduceAction167(174),
+                       new ReduceAction168(174),
+                       new ReduceAction169(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(174),
+                       new ReduceAction153(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 ReduceAction405(175),
-                       new ReduceAction407(175),
-                       new ReduceAction968(176),
-                       new ReduceAction969(176),
-                       new ReduceAction970(177),
-                       new ReduceAction971(177),
-                       new ReduceAction972(178),
-                       new ReduceAction973(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 ReduceAction153(184),
-                       new ReduceAction985(184),
-                       new ReduceAction396(185),
-                       new ReduceAction987(185),
-                       new ReduceAction396(186),
-                       new ReduceAction987(186),
-                       new ReduceAction420(187),
-                       new ReduceAction991(187),
-                       new ReduceAction378(188),
-                       new ReduceAction993(188),
-                       new ReduceAction378(189),
-                       new ReduceAction993(189),
-                       new ReduceAction378(190),
-                       new ReduceAction993(190),
-                       new ReduceAction396(191),
-                       new ReduceAction987(191),
-                       new ReduceAction396(192),
-                       new ReduceAction987(192),
-                       new ReduceAction421(193),
-                       new ReduceAction1003(193),
-                       new ReduceAction1004(194),
-                       new ReduceAction1005(194),
-                       new ReduceAction1006(195),
-                       new ReduceAction1007(195)
+                       new ReduceAction179(174),
+                       new ReduceAction178(174),
+                       new ReduceAction181(174),
+                       new ReduceAction182(174),
+                       new ReduceAction183(174),
+                       new ReduceAction182(174),
+                       new ReduceAction185(174),
+                       new ReduceAction186(174),
+                       new ReduceAction187(174),
+                       new ReduceAction188(174),
+                       new ReduceAction189(174),
+                       new ReduceAction188(174),
+                       new ReduceAction191(174),
+                       new ReduceAction192(174),
+                       new ReduceAction191(174),
+                       new ReduceAction194(174),
+                       new ReduceAction150(175),
+                       new ReduceAction151(175),
+                       new ReduceAction152(175),
+                       new ReduceAction150(176),
+                       new ReduceAction151(176),
+                       new ReduceAction152(176),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction163(177),
+                       new ReduceAction164(177),
+                       new ReduceAction165(177),
+                       new ReduceAction166(177),
+                       new ReduceAction167(177),
+                       new ReduceAction168(177),
+                       new ReduceAction169(177),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction153(177),
+                       new ReduceAction194(177),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction163(178),
+                       new ReduceAction164(178),
+                       new ReduceAction165(178),
+                       new ReduceAction166(178),
+                       new ReduceAction167(178),
+                       new ReduceAction168(178),
+                       new ReduceAction169(178),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction153(178),
+                       new ReduceAction194(178),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction163(179),
+                       new ReduceAction164(179),
+                       new ReduceAction165(179),
+                       new ReduceAction166(179),
+                       new ReduceAction167(179),
+                       new ReduceAction168(179),
+                       new ReduceAction169(179),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction153(179),
+                       new ReduceAction194(179),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction163(180),
+                       new ReduceAction164(180),
+                       new ReduceAction165(180),
+                       new ReduceAction166(180),
+                       new ReduceAction167(180),
+                       new ReduceAction168(180),
+                       new ReduceAction169(180),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction153(180),
+                       new ReduceAction194(180),
+                       new ReduceAction415(181),
+                       new ReduceAction417(181),
+                       new ReduceAction989(182),
+                       new ReduceAction990(182),
+                       new ReduceAction991(183),
+                       new ReduceAction992(183),
+                       new ReduceAction993(184),
+                       new ReduceAction994(184),
+                       new ReduceAction995(185),
+                       new ReduceAction996(185),
+                       new ReduceAction43(186),
+                       new ReduceAction998(186),
+                       new ReduceAction999(187),
+                       new ReduceAction1000(187),
+                       new ReduceAction1001(188),
+                       new ReduceAction1002(188),
+                       new ReduceAction144(189),
+                       new ReduceAction1004(189),
+                       new ReduceAction366(190),
+                       new ReduceAction1006(190),
+                       new ReduceAction366(191),
+                       new ReduceAction1006(191),
+                       new ReduceAction366(192),
+                       new ReduceAction1006(192),
+                       new ReduceAction430(193),
+                       new ReduceAction1012(193),
+                       new ReduceAction388(194),
+                       new ReduceAction1014(194),
+                       new ReduceAction388(195),
+                       new ReduceAction1014(195),
+                       new ReduceAction366(196),
+                       new ReduceAction1006(196),
+                       new ReduceAction366(197),
+                       new ReduceAction1006(197),
+                       new ReduceAction431(198),
+                       new ReduceAction1022(198),
+                       new ReduceAction1023(199),
+                       new ReduceAction1024(199),
+                       new ReduceAction1025(200),
+                       new ReduceAction1026(200)
                )
        end
 end
@@ -1637,6 +1656,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
@@ -1722,7 +1742,6 @@ private class ReduceAction26
                                        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
                                        var tkwredefnode3 = nodearraylist2
@@ -1736,8 +1755,11 @@ private class ReduceAction26
                                        var listnode7 = nodearraylist7
                                        assert listnode7 isa Array[Object]
                                        listnode8 = concat(listnode8, listnode7)
-                                       var tkwendnode13 = nodearraylist9
-                                       assert tkwendnode13 isa nullable TKwend
+                                       var listnode10 = nodearraylist8
+                                       assert listnode10 isa Array[Object]
+                                       listnode11 = concat(listnode11, listnode10)
+                                       var tkwendnode12 = nodearraylist9
+                                       assert tkwendnode12 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -1746,10 +1768,8 @@ private class ReduceAction26
                                                tclassidnode6,
                                                listnode8,
                                                null,
-                                               null,
                                                listnode11,
-                                               listnode12,
-                                               tkwendnode13
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -1771,8 +1791,7 @@ private class ReduceAction27
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode17 = new Array[Object]
+                                       var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
@@ -1786,18 +1805,13 @@ private class ReduceAction27
                                        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 pexterncodeblocknode9 = nodearraylist8
+                                       assert pexterncodeblocknode9 isa nullable AExternCodeBlock
+                                       var listnode10 = nodearraylist9
+                                       assert listnode10 isa Array[Object]
+                                       listnode11 = concat(listnode11, listnode10)
+                                       var tkwendnode12 = nodearraylist10
+                                       assert tkwendnode12 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -1805,554 +1819,221 @@ private class ReduceAction27
                                                pclasskindnode5,
                                                tclassidnode6,
                                                listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode16,
-                                               listnode17,
-                                               tkwendnode18
+                                               pexterncodeblocknode9,
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction28
+private class ReduceAction29
        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 listnode12 = 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 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
+                                       var tkwredefnode1 = nodearraylist1
+                                       node_list = tkwredefnode1
+                                       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 nodearraylist1 = p.pop
+                                       var tkwclassnode2 = nodearraylist1
+                                       assert tkwclassnode2 isa nullable TKwclass
+                                       var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind(
+                                               tkwclassnode2
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction29
+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 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 tkwabstractnode2 = nodearraylist1
+                                       assert tkwabstractnode2 isa nullable TKwabstract
+                                       var tkwclassnode3 = nodearraylist2
+                                       assert tkwclassnode3 isa nullable TKwclass
+                                       var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind(
+                                               tkwabstractnode2,
+                                               tkwclassnode3
                                        )
-                                       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 = pclasskindnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction32
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwinterfacenode2 = nodearraylist1
+                                       assert tkwinterfacenode2 isa nullable TKwinterface
+                                       var pclasskindnode1: nullable AInterfaceClasskind = new AInterfaceClasskind.init_ainterfaceclasskind(
+                                               tkwinterfacenode2
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction30
+private class ReduceAction33
        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 pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode12,
-                                               listnode13,
-                                               tkwendnode14
+                                       var tkwenumnode2 = nodearraylist1
+                                       assert tkwenumnode2 isa nullable TKwenum
+                                       var pclasskindnode1: nullable AEnumClasskind = new AEnumClasskind.init_aenumclasskind(
+                                               tkwenumnode2
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction31
+private class ReduceAction34
        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
+                                       var tkwexternnode2 = nodearraylist1
+                                       assert tkwexternnode2 isa nullable TKwextern
+                                       var tkwclassnode3 = nodearraylist2
+                                       assert tkwclassnode3 isa nullable TKwclass
+                                       var pclasskindnode1: nullable AExternClasskind = new AExternClasskind.init_aexternclasskind(
+                                               tkwexternnode2,
+                                               tkwclassnode3
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction32
+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 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 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
+                                       var listnode2 = new Array[Object]
+                                       var pformaldefnode1 = nodearraylist3
+                                       if pformaldefnode1 != null then
+                                               listnode2.add(pformaldefnode1)
+                                       end
+                                       node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction33
+private class ReduceAction36
        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
+                                       var listnode3 = new Array[Object]
+                                       var pformaldefnode1 = nodearraylist3
+                                       var listnode2 = nodearraylist4
+                                       assert listnode2 isa Array[Object]
+                                       if pformaldefnode1 != null then
+                                               listnode3.add(pformaldefnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction34
+private class ReduceAction37
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var listnode1 = new Array[Object]
+                                       node_list = listnode1
+                                       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 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
+                                       var pformaldefnode1 = nodearraylist3
+                                       node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction35
+private class ReduceAction39
        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,
+                                       var tclassidnode2 = nodearraylist1
+                                       assert tclassidnode2 isa nullable TClassid
+                                       var ptypenode3 = nodearraylist2
+                                       assert ptypenode3 isa nullable AType
+                                       var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
+                                               tclassidnode2,
+                                               ptypenode3,
                                                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
+                                       node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction36
+private class ReduceAction40
        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
+                                       var tclassidnode2 = nodearraylist1
+                                       assert tclassidnode2 isa nullable TClassid
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var pannotationsnode4 = nodearraylist2
+                                       assert pannotationsnode4 isa nullable AAnnotations
+                                       var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
+                                               tclassidnode2,
+                                               ptypenode3,
+                                               pannotationsnode4
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction37
+private class ReduceAction41
        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
@@ -2360,540 +2041,72 @@ private class ReduceAction37
                                        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(
+                                       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,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode16,
-                                               listnode18,
-                                               tkwendnode19
+                                               tkwsupernode5,
+                                               ptypenode6,
+                                               pannotationsnode7
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction38
+private class ReduceAction42
        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
+                                       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 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
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode12,
-                                               listnode14,
-                                               tkwendnode15
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction41
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist13 = p.pop
-                                       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 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 pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode17,
-                                               listnode19,
-                                               tkwendnode20
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction43
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwredefnode1 = nodearraylist1
-                                       node_list = tkwredefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction44
+private class ReduceAction43
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var tkwclassnode2 = nodearraylist1
-                                       assert tkwclassnode2 isa nullable TKwclass
-                                       var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind(
-                                               tkwclassnode2
-                                       )
-                                       node_list = pclasskindnode1
-                                       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 nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwabstractnode2 = nodearraylist1
-                                       assert tkwabstractnode2 isa nullable TKwabstract
-                                       var tkwclassnode3 = nodearraylist2
-                                       assert tkwclassnode3 isa nullable TKwclass
-                                       var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind(
-                                               tkwabstractnode2,
-                                               tkwclassnode3
-                                       )
-                                       node_list = pclasskindnode1
-                                       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 tkwinterfacenode2 = nodearraylist1
-                                       assert tkwinterfacenode2 isa nullable TKwinterface
-                                       var pclasskindnode1: nullable AInterfaceClasskind = new AInterfaceClasskind.init_ainterfaceclasskind(
-                                               tkwinterfacenode2
-                                       )
-                                       node_list = pclasskindnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction47
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwenumnode2 = nodearraylist1
-                                       assert tkwenumnode2 isa nullable TKwenum
-                                       var pclasskindnode1: nullable AEnumClasskind = new AEnumClasskind.init_aenumclasskind(
-                                               tkwenumnode2
-                                       )
-                                       node_list = pclasskindnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction48
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwexternnode2 = nodearraylist1
-                                       assert tkwexternnode2 isa nullable TKwextern
-                                       var tkwclassnode3 = nodearraylist2
-                                       assert tkwclassnode3 isa nullable TKwclass
-                                       var pclasskindnode1: nullable AExternClasskind = new AExternClasskind.init_aexternclasskind(
-                                               tkwexternnode2,
-                                               tkwclassnode3
-                                       )
-                                       node_list = pclasskindnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction49
-       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
-                                       if pformaldefnode1 != null then
-                                               listnode2.add(pformaldefnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction50
-       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
-                                       assert listnode2 isa Array[Object]
-                                       if pformaldefnode1 != null then
-                                               listnode3.add(pformaldefnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction51
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var listnode1 = new Array[Object]
-                                       node_list = listnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction52
-       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 pformaldefnode1 = nodearraylist3
-                                       node_list = pformaldefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction53
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tclassidnode2 = nodearraylist1
-                                       assert tclassidnode2 isa nullable TClassid
-                                       var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable AType
-                                       var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
-                                               tclassidnode2,
-                                               ptypenode3,
-                                               null
-                                       )
-                                       node_list = pformaldefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction54
-       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
-                                       assert tclassidnode2 isa nullable TClassid
-                                       var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable AType
-                                       var pannotationsnode4 = nodearraylist2
-                                       assert pannotationsnode4 isa nullable AAnnotations
-                                       var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
-                                               tclassidnode2,
-                                               ptypenode3,
-                                               pannotationsnode4
-                                       )
-                                       node_list = pformaldefnode1
+                                       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 ReduceAction55
+private class ReduceAction44
        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 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
-                                       )
-                                       node_list = psuperclassnode1
+                                       var listnode1 = new Array[Object]
+                                       node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction56
+private class ReduceAction45
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2905,7 +2118,7 @@ private class ReduceAction56
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction57
+private class ReduceAction46
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2951,7 +2164,7 @@ private class ReduceAction57
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction58
+private class ReduceAction47
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3000,7 +2213,7 @@ private class ReduceAction58
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction59
+private class ReduceAction48
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3044,7 +2257,7 @@ private class ReduceAction59
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction60
+private class ReduceAction49
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3085,7 +2298,7 @@ private class ReduceAction60
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction61
+private class ReduceAction50
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3129,7 +2342,7 @@ private class ReduceAction61
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction62
+private class ReduceAction51
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3172,7 +2385,7 @@ private class ReduceAction62
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction63
+private class ReduceAction52
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3218,7 +2431,7 @@ private class ReduceAction63
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction64
+private class ReduceAction53
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3264,7 +2477,7 @@ private class ReduceAction64
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction65
+private class ReduceAction54
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3313,7 +2526,7 @@ private class ReduceAction65
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction66
+private class ReduceAction55
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3360,7 +2573,7 @@ private class ReduceAction66
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction67
+private class ReduceAction56
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3410,7 +2623,7 @@ private class ReduceAction67
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction68
+private class ReduceAction57
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3451,7 +2664,7 @@ private class ReduceAction68
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction69
+private class ReduceAction58
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3497,7 +2710,7 @@ private class ReduceAction69
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction70
+private class ReduceAction59
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3539,7 +2752,7 @@ private class ReduceAction70
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction71
+private class ReduceAction60
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3584,7 +2797,7 @@ private class ReduceAction71
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction72
+private class ReduceAction61
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3627,7 +2840,7 @@ private class ReduceAction72
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction73
+private class ReduceAction62
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3673,7 +2886,7 @@ private class ReduceAction73
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction74
+private class ReduceAction63
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3716,7 +2929,7 @@ private class ReduceAction74
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction75
+private class ReduceAction64
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3762,7 +2975,7 @@ private class ReduceAction75
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction76
+private class ReduceAction65
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3808,7 +3021,7 @@ private class ReduceAction76
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction77
+private class ReduceAction66
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3857,7 +3070,7 @@ private class ReduceAction77
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction78
+private class ReduceAction67
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3896,7 +3109,7 @@ private class ReduceAction78
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction79
+private class ReduceAction68
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3940,7 +3153,7 @@ private class ReduceAction79
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction80
+private class ReduceAction69
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3987,7 +3200,7 @@ private class ReduceAction80
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction81
+private class ReduceAction70
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4034,7 +3247,7 @@ private class ReduceAction81
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction82
+private class ReduceAction71
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4084,7 +3297,18 @@ private class ReduceAction82
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction83
+private class ReduceAction72
+       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 ReduceAction74
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4096,7 +3320,7 @@ private class ReduceAction83
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction84
+private class ReduceAction75
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4110,7 +3334,7 @@ private class ReduceAction84
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction87
+private class ReduceAction78
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4123,7 +3347,7 @@ private class ReduceAction87
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction88
+private class ReduceAction79
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4135,7 +3359,7 @@ private class ReduceAction88
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction89
+private class ReduceAction80
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4151,7 +3375,7 @@ private class ReduceAction89
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction90
+private class ReduceAction81
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4167,7 +3391,7 @@ private class ReduceAction90
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction91
+private class ReduceAction82
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4183,7 +3407,7 @@ private class ReduceAction91
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction92
+private class ReduceAction83
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4199,7 +3423,7 @@ private class ReduceAction92
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction93
+private class ReduceAction84
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4214,7 +3438,7 @@ private class ReduceAction93
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction94
+private class ReduceAction85
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4229,7 +3453,7 @@ private class ReduceAction94
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction95
+private class ReduceAction86
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4244,7 +3468,7 @@ private class ReduceAction95
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction96
+private class ReduceAction87
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4259,7 +3483,7 @@ private class ReduceAction96
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction97
+private class ReduceAction88
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4274,7 +3498,7 @@ private class ReduceAction97
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction98
+private class ReduceAction89
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4289,7 +3513,7 @@ private class ReduceAction98
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction99
+private class ReduceAction90
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4304,7 +3528,7 @@ private class ReduceAction99
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction100
+private class ReduceAction91
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4319,7 +3543,7 @@ private class ReduceAction100
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction101
+private class ReduceAction92
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4334,7 +3558,7 @@ private class ReduceAction101
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction102
+private class ReduceAction93
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4349,7 +3573,7 @@ private class ReduceAction102
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction103
+private class ReduceAction94
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4364,7 +3588,7 @@ private class ReduceAction103
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction104
+private class ReduceAction95
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4379,7 +3603,7 @@ private class ReduceAction104
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction105
+private class ReduceAction96
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4394,7 +3618,7 @@ private class ReduceAction105
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction106
+private class ReduceAction97
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4409,7 +3633,7 @@ private class ReduceAction106
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction107
+private class ReduceAction98
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4428,7 +3652,7 @@ private class ReduceAction107
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction108
+private class ReduceAction99
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4443,7 +3667,7 @@ private class ReduceAction108
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction109
+private class ReduceAction100
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4462,7 +3686,7 @@ private class ReduceAction109
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction110
+private class ReduceAction101
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4485,7 +3709,7 @@ private class ReduceAction110
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction111
+private class ReduceAction102
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4500,7 +3724,7 @@ private class ReduceAction111
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction112
+private class ReduceAction103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4531,7 +3755,7 @@ private class ReduceAction112
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction113
+private class ReduceAction104
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4559,7 +3783,7 @@ private class ReduceAction113
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction114
+private class ReduceAction105
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4579,7 +3803,7 @@ private class ReduceAction114
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction115
+private class ReduceAction106
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4596,7 +3820,7 @@ private class ReduceAction115
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction116
+private class ReduceAction107
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4612,7 +3836,7 @@ private class ReduceAction116
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction117
+private class ReduceAction108
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4632,7 +3856,7 @@ private class ReduceAction117
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction119
+private class ReduceAction110
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4645,7 +3869,7 @@ private class ReduceAction119
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction120
+private class ReduceAction111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4666,7 +3890,7 @@ private class ReduceAction120
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction121
+private class ReduceAction112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4687,7 +3911,7 @@ private class ReduceAction121
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction122
+private class ReduceAction113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4711,7 +3935,7 @@ private class ReduceAction122
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction123
+private class ReduceAction114
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4735,7 +3959,7 @@ private class ReduceAction123
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction124
+private class ReduceAction115
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4762,7 +3986,7 @@ private class ReduceAction124
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction125
+private class ReduceAction116
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4786,7 +4010,7 @@ private class ReduceAction125
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction126
+private class ReduceAction117
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4814,7 +4038,7 @@ private class ReduceAction126
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction128
+private class ReduceAction119
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4827,7 +4051,7 @@ private class ReduceAction128
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction129
+private class ReduceAction120
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4838,7 +4062,7 @@ private class ReduceAction129
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction131
+private class ReduceAction122
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4853,7 +4077,7 @@ private class ReduceAction131
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction132
+private class ReduceAction123
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4868,7 +4092,7 @@ private class ReduceAction132
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction133
+private class ReduceAction124
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4891,7 +4115,7 @@ private class ReduceAction133
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction134
+private class ReduceAction125
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4906,7 +4130,7 @@ private class ReduceAction134
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction135
+private class ReduceAction126
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4938,7 +4162,7 @@ private class ReduceAction135
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction136
+private class ReduceAction127
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4966,7 +4190,7 @@ private class ReduceAction136
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction137
+private class ReduceAction128
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4995,7 +4219,7 @@ private class ReduceAction137
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction138
+private class ReduceAction129
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5020,7 +4244,7 @@ private class ReduceAction138
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction139
+private class ReduceAction130
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5054,7 +4278,7 @@ private class ReduceAction139
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction140
+private class ReduceAction131
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5084,7 +4308,7 @@ private class ReduceAction140
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction142
+private class ReduceAction133
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5095,7 +4319,7 @@ private class ReduceAction142
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction143
+private class ReduceAction134
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5116,7 +4340,7 @@ private class ReduceAction143
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction144
+private class ReduceAction135
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5132,7 +4356,7 @@ private class ReduceAction144
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction145
+private class ReduceAction136
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5151,7 +4375,7 @@ private class ReduceAction145
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction146
+private class ReduceAction137
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5162,7 +4386,7 @@ private class ReduceAction146
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction148
+private class ReduceAction139
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5174,7 +4398,7 @@ private class ReduceAction148
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction149
+private class ReduceAction140
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5196,7 +4420,7 @@ private class ReduceAction149
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction150
+private class ReduceAction141
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5221,7 +4445,7 @@ private class ReduceAction150
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction151
+private class ReduceAction142
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5251,7 +4475,7 @@ private class ReduceAction151
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction152
+private class ReduceAction143
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5284,7 +4508,7 @@ private class ReduceAction152
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction153
+private class ReduceAction144
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5299,7 +4523,7 @@ private class ReduceAction153
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction154
+private class ReduceAction145
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5318,7 +4542,7 @@ private class ReduceAction154
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction155
+private class ReduceAction146
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5331,7 +4555,7 @@ private class ReduceAction155
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction159
+private class ReduceAction150
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5343,7 +4567,7 @@ private class ReduceAction159
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction160
+private class ReduceAction151
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5361,7 +4585,7 @@ private class ReduceAction160
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction161
+private class ReduceAction152
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5378,7 +4602,7 @@ private class ReduceAction161
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction162
+private class ReduceAction153
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5389,7 +4613,7 @@ private class ReduceAction162
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction163
+private class ReduceAction154
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5409,7 +4633,7 @@ private class ReduceAction163
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction164
+private class ReduceAction155
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5433,7 +4657,7 @@ private class ReduceAction164
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction165
+private class ReduceAction156
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5454,7 +4678,7 @@ private class ReduceAction165
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction166
+private class ReduceAction157
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5479,7 +4703,7 @@ private class ReduceAction166
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction167
+private class ReduceAction158
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5503,7 +4727,7 @@ private class ReduceAction167
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction168
+private class ReduceAction159
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5531,7 +4755,7 @@ private class ReduceAction168
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction172
+private class ReduceAction163
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5547,7 +4771,7 @@ private class ReduceAction172
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction173
+private class ReduceAction164
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5566,7 +4790,7 @@ private class ReduceAction173
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction174
+private class ReduceAction165
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5582,7 +4806,7 @@ private class ReduceAction174
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction175
+private class ReduceAction166
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5601,7 +4825,7 @@ private class ReduceAction175
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction176
+private class ReduceAction167
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5616,7 +4840,7 @@ private class ReduceAction176
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction177
+private class ReduceAction168
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5632,7 +4856,7 @@ private class ReduceAction177
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction178
+private class ReduceAction169
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5651,7 +4875,7 @@ private class ReduceAction178
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction185
+private class ReduceAction177
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5676,7 +4900,7 @@ private class ReduceAction185
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction186
+private class ReduceAction178
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5702,7 +4926,7 @@ private class ReduceAction186
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction187
+private class ReduceAction179
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5729,7 +4953,7 @@ private class ReduceAction187
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction189
+private class ReduceAction181
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5750,7 +4974,7 @@ private class ReduceAction189
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction190
+private class ReduceAction182
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5772,7 +4996,7 @@ private class ReduceAction190
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction191
+private class ReduceAction183
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5795,7 +5019,7 @@ private class ReduceAction191
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction193
+private class ReduceAction185
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5818,7 +5042,7 @@ private class ReduceAction193
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction194
+private class ReduceAction186
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5843,7 +5067,7 @@ private class ReduceAction194
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction195
+private class ReduceAction187
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5864,7 +5088,7 @@ private class ReduceAction195
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction196
+private class ReduceAction188
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5890,7 +5114,7 @@ private class ReduceAction196
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction197
+private class ReduceAction189
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5917,7 +5141,7 @@ private class ReduceAction197
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction199
+private class ReduceAction191
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5939,7 +5163,7 @@ private class ReduceAction199
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction200
+private class ReduceAction192
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5962,7 +5186,7 @@ private class ReduceAction200
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction202
+private class ReduceAction194
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5990,7 +5214,7 @@ private class ReduceAction202
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction203
+private class ReduceAction195
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6006,7 +5230,7 @@ private class ReduceAction203
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction204
+private class ReduceAction196
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6025,7 +5249,7 @@ private class ReduceAction204
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction205
+private class ReduceAction197
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6051,7 +5275,7 @@ private class ReduceAction205
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction206
+private class ReduceAction198
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6080,7 +5304,7 @@ private class ReduceAction206
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction207
+private class ReduceAction199
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6113,7 +5337,7 @@ private class ReduceAction207
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction208
+private class ReduceAction200
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6149,7 +5373,7 @@ private class ReduceAction208
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction209
+private class ReduceAction201
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6179,7 +5403,7 @@ private class ReduceAction209
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction210
+private class ReduceAction202
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6205,7 +5429,7 @@ private class ReduceAction210
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction211
+private class ReduceAction203
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6238,7 +5462,7 @@ private class ReduceAction211
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction212
+private class ReduceAction204
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6272,7 +5496,7 @@ private class ReduceAction212
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction213
+private class ReduceAction205
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6306,7 +5530,7 @@ private class ReduceAction213
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction214
+private class ReduceAction206
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6341,7 +5565,7 @@ private class ReduceAction214
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction215
+private class ReduceAction207
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6376,7 +5600,7 @@ private class ReduceAction215
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction216
+private class ReduceAction208
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6412,7 +5636,7 @@ private class ReduceAction216
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction219
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6441,7 +5665,7 @@ private class ReduceAction219
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction220
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6471,7 +5695,7 @@ private class ReduceAction220
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction221
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6501,7 +5725,7 @@ private class ReduceAction221
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction222
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6532,7 +5756,7 @@ private class ReduceAction222
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction223
+private class ReduceAction215
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6563,7 +5787,7 @@ private class ReduceAction223
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction224
+private class ReduceAction216
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6595,7 +5819,7 @@ private class ReduceAction224
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction227
+private class ReduceAction219
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6622,7 +5846,7 @@ private class ReduceAction227
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction228
+private class ReduceAction220
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6652,7 +5876,7 @@ private class ReduceAction228
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction229
+private class ReduceAction221
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6678,7 +5902,7 @@ private class ReduceAction229
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction230
+private class ReduceAction222
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6711,7 +5935,7 @@ private class ReduceAction230
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction231
+private class ReduceAction223
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6745,7 +5969,7 @@ private class ReduceAction231
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction232
+private class ReduceAction224
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6779,7 +6003,7 @@ private class ReduceAction232
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction233
+private class ReduceAction225
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6814,7 +6038,7 @@ private class ReduceAction233
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction234
+private class ReduceAction226
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6849,7 +6073,7 @@ private class ReduceAction234
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction235
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6885,7 +6109,7 @@ private class ReduceAction235
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction238
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6914,7 +6138,7 @@ private class ReduceAction238
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6944,7 +6168,7 @@ private class ReduceAction239
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction240
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6974,7 +6198,7 @@ private class ReduceAction240
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction241
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7005,7 +6229,7 @@ private class ReduceAction241
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction242
+private class ReduceAction234
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7036,7 +6260,7 @@ private class ReduceAction242
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction243
+private class ReduceAction235
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7068,7 +6292,7 @@ private class ReduceAction243
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction246
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7095,7 +6319,7 @@ private class ReduceAction246
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction247
+private class ReduceAction239
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7110,7 +6334,7 @@ private class ReduceAction247
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction248
+private class ReduceAction240
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7125,7 +6349,97 @@ private class ReduceAction248
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction249
+private class ReduceAction241
+       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 ReduceAction242
+       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 ReduceAction243
+       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 ReduceAction244
+       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 ReduceAction245
+       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 ReduceAction246
+       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 ReduceAction247
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7148,7 +6462,7 @@ private class ReduceAction249
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction250
+private class ReduceAction248
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7168,7 +6482,7 @@ private class ReduceAction250
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction251
+private class ReduceAction249
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7199,7 +6513,7 @@ private class ReduceAction251
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction252
+private class ReduceAction250
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7226,7 +6540,7 @@ private class ReduceAction252
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction253
+private class ReduceAction251
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7257,7 +6571,7 @@ private class ReduceAction253
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction254
+private class ReduceAction252
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7284,7 +6598,7 @@ private class ReduceAction254
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction255
+private class ReduceAction253
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7312,7 +6626,7 @@ private class ReduceAction255
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction258
+private class ReduceAction256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7335,7 +6649,7 @@ private class ReduceAction258
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction259
+private class ReduceAction257
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7355,7 +6669,7 @@ private class ReduceAction259
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction260
+private class ReduceAction258
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7388,7 +6702,7 @@ private class ReduceAction260
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction261
+private class ReduceAction259
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7418,7 +6732,7 @@ private class ReduceAction261
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction262
+private class ReduceAction260
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7460,7 +6774,7 @@ private class ReduceAction262
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction263
+private class ReduceAction261
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7499,11 +6813,137 @@ private class ReduceAction263
                                        p.push(p.go_to(_goto), node_list)
        end
 end
+private class ReduceAction262
+       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,
+                                               plabelnode6
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction263
+       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 ReduceAction264
        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 ReduceAction265
+       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 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 ReduceAction267
+       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
@@ -7524,7 +6964,7 @@ private class ReduceAction264
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction265
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7552,7 +6992,7 @@ private class ReduceAction265
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction266
+private class ReduceAction269
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7573,7 +7013,7 @@ private class ReduceAction266
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction267
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7597,7 +7037,7 @@ private class ReduceAction267
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction268
+private class ReduceAction271
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7609,7 +7049,7 @@ private class ReduceAction268
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction270
+private class ReduceAction273
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7649,7 +7089,7 @@ private class ReduceAction270
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction272
+private class ReduceAction275
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7660,17 +7100,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 ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7681,17 +7124,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 ReduceAction277
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7703,17 +7149,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 ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7724,17 +7176,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 ReduceAction280
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7754,7 +7209,7 @@ private class ReduceAction277
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction279
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7765,17 +7220,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 ReduceAction283
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7786,17 +7244,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 ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7807,17 +7268,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 ReduceAction285
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7828,17 +7292,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 ReduceAction286
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7849,17 +7316,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 tllnode3 = nodearraylist2
+                                       assert tllnode3 isa nullable TLl
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tllnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction284
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7870,17 +7340,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 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 ReduceAction285
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7891,17 +7364,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 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 ReduceAction286
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7912,17 +7388,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 tggnode3 = nodearraylist2
+                                       assert tggnode3 isa nullable TGg
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tggnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction287
+private class ReduceAction290
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7933,17 +7412,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 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 ReduceAction288
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7954,17 +7436,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 tkwisanode3 = nodearraylist2
+                                       assert tkwisanode3 isa nullable TKwisa
+                                       var ptypenode4 = nodearraylist4
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
-                                               ptypenode3
+                                               tkwisanode3,
+                                               ptypenode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction290
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7975,17 +7460,20 @@ private class ReduceAction290
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 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 ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7996,17 +7484,20 @@ 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 ReduceAction293
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8017,17 +7508,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 tstarnode3 = nodearraylist2
+                                       assert tstarnode3 isa nullable TStar
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tstarnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction294
+private class ReduceAction297
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8038,17 +7532,20 @@ private class ReduceAction294
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 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,
-                                               pexprnode3
+                                               tslashnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction295
+private class ReduceAction298
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8059,17 +7556,20 @@ private class ReduceAction295
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       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 ReduceAction297
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8080,17 +7580,20 @@ private class ReduceAction297
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       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 ReduceAction299
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8109,7 +7612,26 @@ private class ReduceAction299
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction300
+private class ReduceAction303
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tplusnode2 = nodearraylist1
+                                       assert tplusnode2 isa nullable TPlus
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       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 ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8129,7 +7651,7 @@ private class ReduceAction300
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction302
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8154,7 +7676,7 @@ private class ReduceAction302
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction303
+private class ReduceAction307
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8180,7 +7702,7 @@ private class ReduceAction303
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction304
+private class ReduceAction308
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8206,7 +7728,7 @@ private class ReduceAction304
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction305
+private class ReduceAction309
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8228,7 +7750,7 @@ private class ReduceAction305
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction307
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8250,7 +7772,7 @@ private class ReduceAction307
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction308
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8268,7 +7790,7 @@ private class ReduceAction308
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction310
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8294,7 +7816,7 @@ private class ReduceAction310
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction312
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8321,7 +7843,7 @@ private class ReduceAction312
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction314
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8349,7 +7871,7 @@ private class ReduceAction314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction318
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8371,7 +7893,7 @@ private class ReduceAction318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction320
+private class ReduceAction324
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8394,7 +7916,7 @@ private class ReduceAction320
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction322
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8418,7 +7940,7 @@ private class ReduceAction322
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction326
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8442,7 +7964,7 @@ private class ReduceAction326
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction328
+private class ReduceAction332
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8468,7 +7990,7 @@ private class ReduceAction328
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction330
+private class ReduceAction334
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8490,7 +8012,7 @@ private class ReduceAction330
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction331
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8509,7 +8031,7 @@ private class ReduceAction331
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction332
+private class ReduceAction336
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8539,7 +8061,7 @@ private class ReduceAction332
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction333
+private class ReduceAction337
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8570,7 +8092,7 @@ private class ReduceAction333
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction334
+private class ReduceAction338
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8601,7 +8123,7 @@ private class ReduceAction334
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction335
+private class ReduceAction339
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8633,7 +8155,7 @@ private class ReduceAction335
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction336
+private class ReduceAction340
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8665,7 +8187,7 @@ private class ReduceAction336
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction337
+private class ReduceAction341
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8698,7 +8220,7 @@ private class ReduceAction337
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction340
+private class ReduceAction344
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8734,7 +8256,7 @@ private class ReduceAction340
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction341
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8775,7 +8297,7 @@ private class ReduceAction341
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction342
+private class ReduceAction346
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8808,7 +8330,7 @@ private class ReduceAction342
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction343
+private class ReduceAction347
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8827,7 +8349,7 @@ private class ReduceAction343
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction344
+private class ReduceAction348
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8846,7 +8368,7 @@ private class ReduceAction344
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction345
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8865,7 +8387,7 @@ private class ReduceAction345
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction346
+private class ReduceAction350
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8884,7 +8406,7 @@ private class ReduceAction346
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction347
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8903,7 +8425,7 @@ private class ReduceAction347
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction348
+private class ReduceAction352
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8922,7 +8444,7 @@ private class ReduceAction348
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction349
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8941,7 +8463,7 @@ private class ReduceAction349
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction350
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8960,7 +8482,7 @@ private class ReduceAction350
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction351
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8979,7 +8501,7 @@ private class ReduceAction351
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction352
+private class ReduceAction356
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8998,7 +8520,7 @@ private class ReduceAction352
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction355
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9034,7 +8556,7 @@ private class ReduceAction355
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction356
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9070,7 +8592,7 @@ private class ReduceAction356
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction357
+private class ReduceAction361
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9081,28 +8603,30 @@ private class ReduceAction357
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tobranode2 = nodearraylist1
                                        assert tobranode2 isa nullable TObra
-                                       var pexprsnode3 = nodearraylist3
-                                       assert pexprsnode3 isa nullable AExprs
-                                       var ptypenode4 = nodearraylist4
-                                       assert ptypenode4 isa nullable AType
-                                       var tcbranode5 = nodearraylist5
-                                       assert tcbranode5 isa nullable TCbra
-                                       var pannotationsnode6 = nodearraylist6
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var ptypenode5 = nodearraylist4
+                                       assert ptypenode5 isa nullable AType
+                                       var tcbranode6 = nodearraylist5
+                                       assert tcbranode6 isa nullable TCbra
+                                       var pannotationsnode7 = nodearraylist6
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr(
                                                tobranode2,
-                                               pexprsnode3,
-                                               ptypenode4,
-                                               tcbranode5,
-                                               pannotationsnode6
+                                               listnode4,
+                                               ptypenode5,
+                                               tcbranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction358
+private class ReduceAction362
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9131,43 +8655,117 @@ private class ReduceAction358
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction360
+private class ReduceAction364
+       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 pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode3 = nodearraylist2
+                                       assert listnode3 isa Array[Object]
+                                       if pexprnode2 != null then
+                                               listnode4.add(pexprnode2)
+                                       end
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode1: nullable AManyExpr = new AManyExpr.init_amanyexpr(
+                                               listnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction365
+       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 pexprnode1 = nodearraylist3
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction366
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var pexprnode1 = nodearraylist1
+                                       if pexprnode1 != null then
+                                               listnode2.add(pexprnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction367
+       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 pexprnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       if pexprnode1 != null then
+                                               listnode3.add(pexprnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction369
        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 pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       if pexprnode2 != null then
-                                               listnode4.add(pexprnode2)
-                                       end
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode1: nullable AManyExpr = new AManyExpr.init_amanyexpr(
-                                               listnode4
-                                       )
+                                       var pexprnode1 = nodearraylist1
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction361
+private class ReduceAction371
        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 pexprnode1 = nodearraylist3
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode4 = nodearraylist7
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
+                                               pexprnode3,
+                                               pexprnode4,
+                                               null
+                                       )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction362
+private class ReduceAction372
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9194,7 +8792,7 @@ private class ReduceAction362
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction363
+private class ReduceAction373
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9225,7 +8823,7 @@ private class ReduceAction363
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction364
+private class ReduceAction374
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9247,7 +8845,7 @@ private class ReduceAction364
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction365
+private class ReduceAction375
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9263,7 +8861,7 @@ private class ReduceAction365
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction366
+private class ReduceAction376
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9278,7 +8876,7 @@ private class ReduceAction366
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction369
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9293,7 +8891,7 @@ private class ReduceAction369
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction370
+private class ReduceAction380
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9308,7 +8906,7 @@ private class ReduceAction370
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction371
+private class ReduceAction381
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9333,7 +8931,7 @@ private class ReduceAction371
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction372
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9364,7 +8962,7 @@ private class ReduceAction372
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction373
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9375,7 +8973,7 @@ private class ReduceAction373
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction375
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9407,7 +9005,7 @@ private class ReduceAction375
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction376
+private class ReduceAction386
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9451,7 +9049,7 @@ private class ReduceAction376
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction377
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9471,7 +9069,7 @@ private class ReduceAction377
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction378
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9486,7 +9084,7 @@ private class ReduceAction378
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction379
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9505,7 +9103,7 @@ private class ReduceAction379
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction382
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9540,7 +9138,7 @@ private class ReduceAction382
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction384
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9553,7 +9151,7 @@ private class ReduceAction384
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction386
+private class ReduceAction396
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9586,7 +9184,7 @@ private class ReduceAction386
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction387
+private class ReduceAction397
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9622,7 +9220,7 @@ private class ReduceAction387
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction388
+private class ReduceAction398
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9666,7 +9264,7 @@ private class ReduceAction388
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction389
+private class ReduceAction399
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9713,7 +9311,7 @@ private class ReduceAction389
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction390
+private class ReduceAction400
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9750,12 +9348,11 @@ private class ReduceAction390
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction391
+private class ReduceAction401
        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]
@@ -9763,7 +9360,7 @@ private class ReduceAction391
                                        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,
@@ -9773,16 +9370,15 @@ private class ReduceAction391
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction392
+private class ReduceAction402
        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
@@ -9793,7 +9389,7 @@ private class ReduceAction392
                                        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,
@@ -9803,16 +9399,15 @@ private class ReduceAction392
                                                null,
                                                pannotationsnode9
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction393
+private class ReduceAction403
        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
@@ -9831,7 +9426,7 @@ private class ReduceAction393
                                        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,
@@ -9841,16 +9436,15 @@ private class ReduceAction393
                                                tcparnode9,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction394
+private class ReduceAction404
        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
@@ -9872,7 +9466,7 @@ private class ReduceAction394
                                        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,
@@ -9882,16 +9476,15 @@ private class ReduceAction394
                                                tcparnode9,
                                                pannotationsnode10
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction395
+private class ReduceAction405
        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
@@ -9903,7 +9496,7 @@ private class ReduceAction395
                                        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,
@@ -9913,45 +9506,11 @@ private class ReduceAction395
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction396
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pexprnode1 = nodearraylist1
-                                       if pexprnode1 != null then
-                                               listnode2.add(pexprnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction397
-       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 pexprnode1 = nodearraylist1
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       if pexprnode1 != null then
-                                               listnode3.add(pexprnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction399
+private class ReduceAction409
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9966,7 +9525,7 @@ private class ReduceAction399
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction402
+private class ReduceAction412
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9987,7 +9546,7 @@ private class ReduceAction402
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction403
+private class ReduceAction413
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10004,7 +9563,7 @@ private class ReduceAction403
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction404
+private class ReduceAction414
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10019,7 +9578,7 @@ private class ReduceAction404
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction405
+private class ReduceAction415
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10034,7 +9593,7 @@ private class ReduceAction405
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction406
+private class ReduceAction416
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10049,7 +9608,7 @@ private class ReduceAction406
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction407
+private class ReduceAction417
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10064,7 +9623,7 @@ private class ReduceAction407
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction408
+private class ReduceAction418
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10090,7 +9649,7 @@ private class ReduceAction408
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction409
+private class ReduceAction419
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10112,7 +9671,7 @@ private class ReduceAction409
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction411
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10131,7 +9690,7 @@ private class ReduceAction411
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction413
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10144,7 +9703,7 @@ private class ReduceAction413
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction414
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10170,7 +9729,7 @@ private class ReduceAction414
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction415
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10187,7 +9746,7 @@ private class ReduceAction415
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction417
+private class ReduceAction427
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10207,7 +9766,7 @@ private class ReduceAction417
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction418
+private class ReduceAction428
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10221,7 +9780,7 @@ private class ReduceAction418
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction419
+private class ReduceAction429
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10239,7 +9798,7 @@ private class ReduceAction419
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction420
+private class ReduceAction430
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10253,7 +9812,7 @@ private class ReduceAction420
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction421
+private class ReduceAction431
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10268,7 +9827,7 @@ private class ReduceAction421
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction422
+private class ReduceAction432
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10289,7 +9848,7 @@ private class ReduceAction422
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction423
+private class ReduceAction433
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10307,7 +9866,7 @@ private class ReduceAction423
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction424
+private class ReduceAction434
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10329,7 +9888,7 @@ private class ReduceAction424
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction425
+private class ReduceAction435
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10351,7 +9910,7 @@ private class ReduceAction425
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction426
+private class ReduceAction436
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10377,7 +9936,7 @@ private class ReduceAction426
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction427
+private class ReduceAction437
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10394,7 +9953,7 @@ private class ReduceAction427
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction428
+private class ReduceAction438
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10415,7 +9974,7 @@ private class ReduceAction428
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction429
+private class ReduceAction439
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10433,7 +9992,7 @@ private class ReduceAction429
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction431
+private class ReduceAction441
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10444,7 +10003,7 @@ private class ReduceAction431
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction432
+private class ReduceAction442
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10456,7 +10015,7 @@ private class ReduceAction432
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction433
+private class ReduceAction443
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10469,7 +10028,7 @@ private class ReduceAction433
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction435
+private class ReduceAction445
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10480,7 +10039,7 @@ private class ReduceAction435
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction436
+private class ReduceAction446
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10492,7 +10051,7 @@ private class ReduceAction436
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction437
+private class ReduceAction447
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10505,7 +10064,7 @@ private class ReduceAction437
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction439
+private class ReduceAction449
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10518,7 +10077,7 @@ private class ReduceAction439
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction440
+private class ReduceAction450
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10531,7 +10090,7 @@ private class ReduceAction440
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction442
+private class ReduceAction452
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10542,7 +10101,7 @@ private class ReduceAction442
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction443
+private class ReduceAction453
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10551,7 +10110,7 @@ private class ReduceAction443
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction445
+private class ReduceAction455
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10568,7 +10127,7 @@ private class ReduceAction445
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction446
+private class ReduceAction456
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10586,7 +10145,7 @@ private class ReduceAction446
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction449
+private class ReduceAction459
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10597,7 +10156,7 @@ private class ReduceAction449
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction450
+private class ReduceAction460
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10607,7 +10166,7 @@ private class ReduceAction450
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction451
+private class ReduceAction461
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10618,7 +10177,7 @@ private class ReduceAction451
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction780
+private class ReduceAction793
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10642,7 +10201,7 @@ private class ReduceAction780
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction782
+private class ReduceAction795
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10662,7 +10221,7 @@ private class ReduceAction782
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction783
+private class ReduceAction796
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10685,7 +10244,7 @@ private class ReduceAction783
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction784
+private class ReduceAction797
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10709,7 +10268,7 @@ private class ReduceAction784
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction785
+private class ReduceAction798
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10733,7 +10292,7 @@ private class ReduceAction785
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction786
+private class ReduceAction799
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10758,7 +10317,7 @@ private class ReduceAction786
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction793
+private class ReduceAction806
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10781,7 +10340,7 @@ private class ReduceAction793
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction794
+private class ReduceAction807
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10805,7 +10364,7 @@ private class ReduceAction794
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction817
+private class ReduceAction830
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10818,7 +10377,7 @@ private class ReduceAction817
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction818
+private class ReduceAction831
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10828,7 +10387,7 @@ private class ReduceAction818
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction968
+private class ReduceAction989
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10843,7 +10402,7 @@ private class ReduceAction968
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction969
+private class ReduceAction990
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10862,7 +10421,7 @@ private class ReduceAction969
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction970
+private class ReduceAction991
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10877,7 +10436,7 @@ private class ReduceAction970
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction971
+private class ReduceAction992
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10896,7 +10455,7 @@ private class ReduceAction971
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction972
+private class ReduceAction993
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10911,7 +10470,7 @@ private class ReduceAction972
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction973
+private class ReduceAction994
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10930,22 +10489,22 @@ private class ReduceAction973
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction974
+private class ReduceAction995
        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)
+                                       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 ReduceAction975
+private class ReduceAction996
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10955,31 +10514,16 @@ private class ReduceAction975
                                        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 ReduceAction976
-       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 ReduceAction977
+private class ReduceAction998
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10998,41 +10542,7 @@ private class ReduceAction977
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction978
-       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 ReduceAction979
-       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 pformaldefnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if pformaldefnode2 != null then
-                                               listnode3.add(pformaldefnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction980
+private class ReduceAction999
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11047,7 +10557,7 @@ private class ReduceAction980
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction981
+private class ReduceAction1000
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11066,7 +10576,7 @@ private class ReduceAction981
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction982
+private class ReduceAction1001
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11081,7 +10591,7 @@ private class ReduceAction982
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction983
+private class ReduceAction1002
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11100,7 +10610,7 @@ private class ReduceAction983
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction985
+private class ReduceAction1004
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11119,7 +10629,7 @@ private class ReduceAction985
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction987
+private class ReduceAction1006
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11138,7 +10648,7 @@ private class ReduceAction987
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction991
+private class ReduceAction1012
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11156,7 +10666,7 @@ private class ReduceAction991
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction993
+private class ReduceAction1014
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11175,7 +10685,7 @@ private class ReduceAction993
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1003
+private class ReduceAction1022
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11194,7 +10704,7 @@ private class ReduceAction1003
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1004
+private class ReduceAction1023
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11209,7 +10719,7 @@ private class ReduceAction1004
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1005
+private class ReduceAction1024
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11228,7 +10738,7 @@ private class ReduceAction1005
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1006
+private class ReduceAction1025
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11243,7 +10753,7 @@ private class ReduceAction1006
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1007
+private class ReduceAction1026
        super ReduceAction
        redef fun action(p: Parser)
        do