parser: detect bad string and char literals
[nit.git] / src / parser / parser.nit
index 3a6986f..1e9173b 100644 (file)
@@ -122,7 +122,7 @@ class Parser
                                else
                                        action_type = parser_action(state, subindex+1)
                                        action_value = parser_action(state, subindex+2)
-                                       high = low -1 # break
+                                       break
                                end
                        end
 
@@ -139,13 +139,11 @@ class Parser
                                (new ComputeProdLocationVisitor).enter_visit(node)
                                return node
                        else if action_type == 3 then # ERROR
-                               var node2 = new AError.init_error("Syntax error: unexpected token.", token.location)
+                               var node2 = new AError.init_error("Syntax error: unexpected {token}.", token.location)
                                var node = new Start(null, node2)
                                return node
                        end
-                       if false then break # FIXME remove once unreach loop exits are in c_src
                end
-               abort # FIXME remove once unreach loop exits are in c_src
        end
 
        var _reduce_table: Array[ReduceAction]
@@ -211,15 +209,15 @@ class Parser
                        new ReduceAction56(6),
                        new ReduceAction57(6),
                        new ReduceAction58(6),
-                       new ReduceAction59(7),
+                       new ReduceAction59(6),
                        new ReduceAction60(7),
-                       new ReduceAction61(8),
-                       new ReduceAction62(9),
+                       new ReduceAction61(7),
+                       new ReduceAction62(8),
                        new ReduceAction63(9),
-                       new ReduceAction64(10),
+                       new ReduceAction64(9),
                        new ReduceAction65(10),
-                       new ReduceAction66(11),
-                       new ReduceAction67(12),
+                       new ReduceAction66(10),
+                       new ReduceAction67(11),
                        new ReduceAction68(12),
                        new ReduceAction69(12),
                        new ReduceAction70(12),
@@ -291,560 +289,615 @@ class Parser
                        new ReduceAction136(12),
                        new ReduceAction137(12),
                        new ReduceAction138(12),
-                       new ReduceAction139(13),
-                       new ReduceAction140(13),
-                       new ReduceAction141(14),
-                       new ReduceAction142(14),
-                       new ReduceAction143(15),
-                       new ReduceAction144(15),
-                       new ReduceAction145(16),
-                       new ReduceAction146(16),
-                       new ReduceAction147(16),
-                       new ReduceAction148(16),
-                       new ReduceAction149(17),
-                       new ReduceAction150(17),
-                       new ReduceAction151(17),
-                       new ReduceAction152(17),
-                       new ReduceAction153(17),
-                       new ReduceAction154(17),
-                       new ReduceAction155(17),
-                       new ReduceAction156(17),
-                       new ReduceAction157(17),
-                       new ReduceAction158(17),
-                       new ReduceAction159(17),
-                       new ReduceAction160(17),
-                       new ReduceAction161(17),
-                       new ReduceAction162(17),
-                       new ReduceAction163(17),
-                       new ReduceAction164(17),
-                       new ReduceAction165(17),
-                       new ReduceAction166(17),
-                       new ReduceAction167(18),
-                       new ReduceAction168(18),
-                       new ReduceAction169(18),
-                       new ReduceAction170(18),
-                       new ReduceAction171(18),
-                       new ReduceAction172(18),
-                       new ReduceAction173(18),
-                       new ReduceAction174(18),
-                       new ReduceAction175(19),
-                       new ReduceAction176(19),
-                       new ReduceAction177(19),
-                       new ReduceAction178(19),
-                       new ReduceAction179(20),
-                       new ReduceAction180(20),
-                       new ReduceAction181(20),
-                       new ReduceAction182(21),
-                       new ReduceAction183(22),
-                       new ReduceAction184(22),
-                       new ReduceAction185(22),
-                       new ReduceAction186(23),
-                       new ReduceAction187(24),
-                       new ReduceAction188(24),
-                       new ReduceAction189(24),
-                       new ReduceAction190(24),
-                       new ReduceAction191(24),
-                       new ReduceAction192(24),
-                       new ReduceAction193(25),
-                       new ReduceAction194(26),
-                       new ReduceAction195(26),
-                       new ReduceAction196(26),
-                       new ReduceAction197(26),
-                       new ReduceAction198(27),
-                       new ReduceAction199(27),
-                       new ReduceAction200(28),
-                       new ReduceAction200(29),
-                       new ReduceAction202(30),
-                       new ReduceAction203(30),
-                       new ReduceAction204(30),
-                       new ReduceAction205(30),
-                       new ReduceAction206(31),
-                       new ReduceAction207(31),
-                       new ReduceAction208(32),
-                       new ReduceAction209(32),
-                       new ReduceAction210(33),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction213(34),
-                       new ReduceAction214(34),
-                       new ReduceAction215(34),
-                       new ReduceAction216(34),
-                       new ReduceAction217(34),
-                       new ReduceAction218(34),
-                       new ReduceAction219(34),
-                       new ReduceAction220(34),
-                       new ReduceAction221(34),
-                       new ReduceAction222(34),
-                       new ReduceAction223(34),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction205(34),
-                       new ReduceAction230(34),
-                       new ReduceAction231(34),
-                       new ReduceAction232(34),
+                       new ReduceAction139(12),
+                       new ReduceAction140(12),
+                       new ReduceAction141(12),
+                       new ReduceAction142(12),
+                       new ReduceAction143(12),
+                       new ReduceAction144(12),
+                       new ReduceAction145(12),
+                       new ReduceAction146(12),
+                       new ReduceAction147(12),
+                       new ReduceAction148(12),
+                       new ReduceAction149(12),
+                       new ReduceAction150(12),
+                       new ReduceAction151(12),
+                       new ReduceAction152(12),
+                       new ReduceAction153(12),
+                       new ReduceAction154(12),
+                       new ReduceAction155(12),
+                       new ReduceAction156(12),
+                       new ReduceAction157(12),
+                       new ReduceAction158(12),
+                       new ReduceAction159(12),
+                       new ReduceAction160(13),
+                       new ReduceAction161(13),
+                       new ReduceAction162(14),
+                       new ReduceAction163(14),
+                       new ReduceAction164(15),
+                       new ReduceAction165(15),
+                       new ReduceAction166(16),
+                       new ReduceAction167(16),
+                       new ReduceAction168(16),
+                       new ReduceAction169(16),
+                       new ReduceAction170(17),
+                       new ReduceAction171(17),
+                       new ReduceAction172(17),
+                       new ReduceAction173(17),
+                       new ReduceAction174(17),
+                       new ReduceAction175(17),
+                       new ReduceAction176(17),
+                       new ReduceAction177(17),
+                       new ReduceAction178(17),
+                       new ReduceAction179(17),
+                       new ReduceAction180(17),
+                       new ReduceAction181(17),
+                       new ReduceAction182(17),
+                       new ReduceAction183(17),
+                       new ReduceAction184(17),
+                       new ReduceAction185(17),
+                       new ReduceAction186(17),
+                       new ReduceAction187(17),
+                       new ReduceAction188(18),
+                       new ReduceAction189(18),
+                       new ReduceAction190(18),
+                       new ReduceAction191(18),
+                       new ReduceAction192(18),
+                       new ReduceAction193(18),
+                       new ReduceAction194(18),
+                       new ReduceAction195(18),
+                       new ReduceAction196(19),
+                       new ReduceAction197(19),
+                       new ReduceAction198(19),
+                       new ReduceAction199(19),
+                       new ReduceAction200(20),
+                       new ReduceAction201(20),
+                       new ReduceAction202(20),
+                       new ReduceAction203(21),
+                       new ReduceAction204(22),
+                       new ReduceAction205(22),
+                       new ReduceAction206(22),
+                       new ReduceAction207(23),
+                       new ReduceAction208(24),
+                       new ReduceAction209(24),
+                       new ReduceAction210(24),
+                       new ReduceAction211(24),
+                       new ReduceAction212(24),
+                       new ReduceAction213(24),
+                       new ReduceAction214(25),
+                       new ReduceAction215(26),
+                       new ReduceAction216(26),
+                       new ReduceAction217(27),
+                       new ReduceAction218(28),
+                       new ReduceAction218(28),
+                       new ReduceAction220(28),
+                       new ReduceAction221(29),
+                       new ReduceAction222(29),
+                       new ReduceAction223(29),
+                       new ReduceAction224(30),
+                       new ReduceAction225(30),
+                       new ReduceAction226(30),
+                       new ReduceAction227(31),
+                       new ReduceAction228(31),
+                       new ReduceAction229(31),
+                       new ReduceAction230(31),
+                       new ReduceAction231(32),
+                       new ReduceAction232(32),
+                       new ReduceAction233(33),
                        new ReduceAction233(34),
-                       new ReduceAction234(34),
-                       new ReduceAction235(34),
-                       new ReduceAction236(34),
-                       new ReduceAction237(34),
+                       new ReduceAction235(35),
+                       new ReduceAction236(35),
+                       new ReduceAction237(35),
                        new ReduceAction238(35),
                        new ReduceAction239(36),
                        new ReduceAction240(36),
                        new ReduceAction241(37),
                        new ReduceAction242(37),
-                       new ReduceAction243(37),
-                       new ReduceAction244(37),
-                       new ReduceAction245(37),
-                       new ReduceAction246(37),
-                       new ReduceAction247(38),
-                       new ReduceAction248(38),
-                       new ReduceAction249(38),
-                       new ReduceAction250(38),
-                       new ReduceAction251(39),
-                       new ReduceAction252(39),
+                       new ReduceAction243(38),
+                       new ReduceAction244(38),
+                       new ReduceAction235(39),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction248(40),
+                       new ReduceAction249(40),
+                       new ReduceAction250(40),
+                       new ReduceAction251(40),
+                       new ReduceAction252(40),
                        new ReduceAction253(40),
-                       new ReduceAction254(41),
-                       new ReduceAction255(41),
-                       new ReduceAction256(41),
-                       new ReduceAction257(41),
-                       new ReduceAction258(42),
-                       new ReduceAction259(42),
-                       new ReduceAction260(42),
-                       new ReduceAction261(42),
-                       new ReduceAction262(42),
-                       new ReduceAction263(42),
-                       new ReduceAction264(42),
-                       new ReduceAction265(42),
-                       new ReduceAction266(42),
-                       new ReduceAction267(42),
-                       new ReduceAction268(43),
-                       new ReduceAction269(43),
-                       new ReduceAction270(44),
-                       new ReduceAction271(44),
-                       new ReduceAction272(45),
-                       new ReduceAction273(45),
-                       new ReduceAction274(45),
-                       new ReduceAction275(45),
-                       new ReduceAction276(45),
-                       new ReduceAction210(46),
-                       new ReduceAction36(46),
-                       new ReduceAction279(47),
-                       new ReduceAction280(47),
-                       new ReduceAction281(48),
-                       new ReduceAction282(48),
-                       new ReduceAction283(49),
-                       new ReduceAction284(49),
-                       new ReduceAction285(50),
-                       new ReduceAction286(50),
-                       new ReduceAction287(50),
-                       new ReduceAction288(50),
-                       new ReduceAction289(51),
-                       new ReduceAction205(52),
-                       new ReduceAction232(52),
-                       new ReduceAction233(52),
-                       new ReduceAction293(52),
-                       new ReduceAction205(53),
-                       new ReduceAction295(53),
-                       new ReduceAction205(54),
-                       new ReduceAction297(54),
-                       new ReduceAction298(54),
-                       new ReduceAction299(54),
-                       new ReduceAction205(55),
-                       new ReduceAction301(55),
-                       new ReduceAction205(56),
-                       new ReduceAction303(56),
-                       new ReduceAction304(56),
-                       new ReduceAction305(56),
-                       new ReduceAction306(56),
-                       new ReduceAction307(56),
-                       new ReduceAction308(56),
-                       new ReduceAction309(56),
-                       new ReduceAction310(56),
-                       new ReduceAction311(56),
-                       new ReduceAction312(56),
-                       new ReduceAction313(56),
-                       new ReduceAction205(57),
-                       new ReduceAction315(57),
-                       new ReduceAction316(57),
-                       new ReduceAction205(58),
-                       new ReduceAction318(58),
-                       new ReduceAction319(58),
-                       new ReduceAction320(58),
-                       new ReduceAction205(59),
-                       new ReduceAction322(59),
-                       new ReduceAction323(59),
-                       new ReduceAction205(60),
-                       new ReduceAction325(60),
-                       new ReduceAction326(60),
-                       new ReduceAction327(60),
-                       new ReduceAction328(61),
-                       new ReduceAction329(61),
-                       new ReduceAction230(61),
-                       new ReduceAction231(61),
-                       new ReduceAction234(61),
-                       new ReduceAction235(61),
-                       new ReduceAction236(61),
-                       new ReduceAction237(61),
-                       new ReduceAction336(61),
-                       new ReduceAction337(61),
-                       new ReduceAction338(61),
-                       new ReduceAction339(61),
-                       new ReduceAction340(61),
-                       new ReduceAction341(61),
-                       new ReduceAction342(61),
+                       new ReduceAction254(40),
+                       new ReduceAction255(40),
+                       new ReduceAction256(40),
+                       new ReduceAction257(40),
+                       new ReduceAction258(40),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction238(40),
+                       new ReduceAction265(40),
+                       new ReduceAction266(40),
+                       new ReduceAction267(40),
+                       new ReduceAction268(40),
+                       new ReduceAction269(40),
+                       new ReduceAction270(40),
+                       new ReduceAction271(40),
+                       new ReduceAction272(40),
+                       new ReduceAction273(41),
+                       new ReduceAction274(42),
+                       new ReduceAction275(42),
+                       new ReduceAction276(43),
+                       new ReduceAction277(43),
+                       new ReduceAction278(43),
+                       new ReduceAction279(43),
+                       new ReduceAction280(43),
+                       new ReduceAction281(43),
+                       new ReduceAction282(43),
+                       new ReduceAction283(43),
+                       new ReduceAction284(43),
+                       new ReduceAction285(44),
+                       new ReduceAction286(44),
+                       new ReduceAction287(44),
+                       new ReduceAction288(44),
+                       new ReduceAction289(44),
+                       new ReduceAction290(44),
+                       new ReduceAction291(45),
+                       new ReduceAction292(45),
+                       new ReduceAction293(46),
+                       new ReduceAction294(47),
+                       new ReduceAction295(47),
+                       new ReduceAction296(47),
+                       new ReduceAction297(47),
+                       new ReduceAction298(48),
+                       new ReduceAction299(48),
+                       new ReduceAction300(48),
+                       new ReduceAction301(48),
+                       new ReduceAction302(48),
+                       new ReduceAction303(48),
+                       new ReduceAction304(48),
+                       new ReduceAction305(48),
+                       new ReduceAction306(48),
+                       new ReduceAction307(48),
+                       new ReduceAction308(49),
+                       new ReduceAction309(49),
+                       new ReduceAction310(50),
+                       new ReduceAction311(50),
+                       new ReduceAction312(51),
+                       new ReduceAction313(51),
+                       new ReduceAction314(51),
+                       new ReduceAction315(51),
+                       new ReduceAction316(51),
+                       new ReduceAction235(52),
+                       new ReduceAction237(52),
+                       new ReduceAction319(53),
+                       new ReduceAction320(53),
+                       new ReduceAction321(54),
+                       new ReduceAction322(54),
+                       new ReduceAction323(55),
+                       new ReduceAction324(55),
+                       new ReduceAction325(55),
+                       new ReduceAction326(55),
+                       new ReduceAction327(56),
+                       new ReduceAction328(56),
+                       new ReduceAction329(56),
+                       new ReduceAction330(56),
+                       new ReduceAction331(57),
+                       new ReduceAction238(58),
+                       new ReduceAction267(58),
+                       new ReduceAction268(58),
+                       new ReduceAction335(58),
+                       new ReduceAction238(59),
+                       new ReduceAction337(59),
+                       new ReduceAction238(60),
+                       new ReduceAction339(60),
+                       new ReduceAction340(60),
+                       new ReduceAction341(60),
+                       new ReduceAction238(61),
                        new ReduceAction343(61),
-                       new ReduceAction344(61),
-                       new ReduceAction345(61),
-                       new ReduceAction346(61),
-                       new ReduceAction347(61),
-                       new ReduceAction348(61),
-                       new ReduceAction205(61),
-                       new ReduceAction202(61),
-                       new ReduceAction351(61),
-                       new ReduceAction352(61),
+                       new ReduceAction238(62),
+                       new ReduceAction345(62),
+                       new ReduceAction346(62),
+                       new ReduceAction347(62),
+                       new ReduceAction348(62),
+                       new ReduceAction349(62),
+                       new ReduceAction350(62),
+                       new ReduceAction351(62),
+                       new ReduceAction352(62),
                        new ReduceAction353(62),
                        new ReduceAction354(62),
-                       new ReduceAction355(63),
-                       new ReduceAction356(64),
-                       new ReduceAction355(65),
-                       new ReduceAction358(66),
-                       new ReduceAction359(67),
-                       new ReduceAction360(68),
-                       new ReduceAction361(68),
-                       new ReduceAction181(68),
-                       new ReduceAction363(68),
-                       new ReduceAction360(69),
-                       new ReduceAction361(69),
-                       new ReduceAction366(69),
-                       new ReduceAction181(69),
-                       new ReduceAction363(69),
-                       new ReduceAction360(70),
-                       new ReduceAction361(70),
-                       new ReduceAction371(71),
-                       new ReduceAction372(72),
-                       new ReduceAction373(72),
-                       new ReduceAction374(73),
-                       new ReduceAction375(73),
-                       new ReduceAction376(74),
-                       new ReduceAction377(74),
-                       new ReduceAction378(74),
-                       new ReduceAction379(75),
-                       new ReduceAction380(76),
-                       new ReduceAction381(77),
-                       new ReduceAction381(77),
-                       new ReduceAction383(78),
-                       new ReduceAction384(78),
-                       new ReduceAction36(78),
-                       new ReduceAction386(79),
-                       new ReduceAction387(79),
-                       new ReduceAction388(80),
-                       new ReduceAction389(80),
-                       new ReduceAction381(80),
-                       new ReduceAction66(81),
-                       new ReduceAction67(82),
-                       new ReduceAction68(82),
-                       new ReduceAction69(82),
-                       new ReduceAction70(82),
-                       new ReduceAction71(82),
-                       new ReduceAction72(82),
-                       new ReduceAction77(82),
-                       new ReduceAction78(82),
-                       new ReduceAction79(82),
-                       new ReduceAction80(82),
-                       new ReduceAction167(83),
-                       new ReduceAction168(83),
-                       new ReduceAction169(83),
-                       new ReduceAction170(83),
-                       new ReduceAction194(84),
-                       new ReduceAction195(84),
-                       new ReduceAction205(85),
-                       new ReduceAction232(85),
-                       new ReduceAction233(85),
-                       new ReduceAction205(86),
-                       new ReduceAction295(86),
-                       new ReduceAction205(87),
-                       new ReduceAction297(87),
-                       new ReduceAction298(87),
-                       new ReduceAction299(87),
-                       new ReduceAction205(88),
-                       new ReduceAction301(88),
-                       new ReduceAction205(89),
-                       new ReduceAction303(89),
-                       new ReduceAction304(89),
-                       new ReduceAction305(89),
-                       new ReduceAction306(89),
-                       new ReduceAction307(89),
-                       new ReduceAction308(89),
-                       new ReduceAction309(89),
-                       new ReduceAction310(89),
-                       new ReduceAction311(89),
-                       new ReduceAction312(89),
-                       new ReduceAction313(89),
-                       new ReduceAction205(90),
-                       new ReduceAction315(90),
-                       new ReduceAction316(90),
-                       new ReduceAction205(91),
-                       new ReduceAction318(91),
-                       new ReduceAction319(91),
-                       new ReduceAction320(91),
-                       new ReduceAction205(92),
-                       new ReduceAction322(92),
-                       new ReduceAction323(92),
-                       new ReduceAction205(93),
-                       new ReduceAction325(93),
-                       new ReduceAction326(93),
-                       new ReduceAction327(93),
-                       new ReduceAction328(94),
-                       new ReduceAction329(94),
-                       new ReduceAction230(94),
-                       new ReduceAction231(94),
-                       new ReduceAction234(94),
-                       new ReduceAction235(94),
-                       new ReduceAction236(94),
-                       new ReduceAction237(94),
-                       new ReduceAction337(94),
-                       new ReduceAction341(94),
-                       new ReduceAction342(94),
+                       new ReduceAction355(62),
+                       new ReduceAction238(63),
+                       new ReduceAction357(63),
+                       new ReduceAction358(63),
+                       new ReduceAction238(64),
+                       new ReduceAction360(64),
+                       new ReduceAction361(64),
+                       new ReduceAction362(64),
+                       new ReduceAction238(65),
+                       new ReduceAction364(65),
+                       new ReduceAction365(65),
+                       new ReduceAction238(66),
+                       new ReduceAction367(66),
+                       new ReduceAction368(66),
+                       new ReduceAction369(66),
+                       new ReduceAction370(67),
+                       new ReduceAction371(67),
+                       new ReduceAction265(67),
+                       new ReduceAction266(67),
+                       new ReduceAction269(67),
+                       new ReduceAction270(67),
+                       new ReduceAction271(67),
+                       new ReduceAction272(67),
+                       new ReduceAction378(67),
+                       new ReduceAction379(67),
+                       new ReduceAction380(67),
+                       new ReduceAction381(67),
+                       new ReduceAction382(67),
+                       new ReduceAction383(67),
+                       new ReduceAction384(67),
+                       new ReduceAction385(67),
+                       new ReduceAction386(67),
+                       new ReduceAction387(67),
+                       new ReduceAction388(67),
+                       new ReduceAction389(67),
+                       new ReduceAction390(67),
+                       new ReduceAction238(67),
+                       new ReduceAction392(67),
+                       new ReduceAction393(67),
+                       new ReduceAction394(67),
+                       new ReduceAction395(68),
+                       new ReduceAction396(68),
+                       new ReduceAction397(69),
+                       new ReduceAction398(70),
+                       new ReduceAction397(71),
+                       new ReduceAction400(72),
+                       new ReduceAction401(73),
+                       new ReduceAction402(74),
+                       new ReduceAction403(74),
+                       new ReduceAction202(74),
+                       new ReduceAction405(74),
+                       new ReduceAction402(75),
+                       new ReduceAction403(75),
+                       new ReduceAction408(75),
+                       new ReduceAction202(75),
+                       new ReduceAction405(75),
+                       new ReduceAction402(76),
+                       new ReduceAction403(76),
+                       new ReduceAction413(77),
+                       new ReduceAction414(78),
+                       new ReduceAction415(78),
+                       new ReduceAction416(79),
+                       new ReduceAction417(79),
+                       new ReduceAction418(79),
+                       new ReduceAction419(79),
+                       new ReduceAction420(80),
+                       new ReduceAction421(80),
+                       new ReduceAction422(80),
+                       new ReduceAction423(81),
+                       new ReduceAction424(82),
+                       new ReduceAction425(83),
+                       new ReduceAction425(83),
+                       new ReduceAction427(84),
+                       new ReduceAction428(84),
+                       new ReduceAction36(84),
+                       new ReduceAction430(85),
+                       new ReduceAction431(85),
+                       new ReduceAction432(86),
+                       new ReduceAction433(86),
+                       new ReduceAction425(86),
+                       new ReduceAction67(87),
+                       new ReduceAction68(88),
+                       new ReduceAction69(88),
+                       new ReduceAction70(88),
+                       new ReduceAction71(88),
+                       new ReduceAction72(88),
+                       new ReduceAction73(88),
+                       new ReduceAction78(88),
+                       new ReduceAction79(88),
+                       new ReduceAction80(88),
+                       new ReduceAction81(88),
+                       new ReduceAction82(88),
+                       new ReduceAction83(88),
+                       new ReduceAction84(88),
+                       new ReduceAction85(88),
+                       new ReduceAction188(89),
+                       new ReduceAction189(89),
+                       new ReduceAction190(89),
+                       new ReduceAction191(89),
+                       new ReduceAction227(90),
+                       new ReduceAction228(90),
+                       new ReduceAction238(91),
+                       new ReduceAction267(91),
+                       new ReduceAction268(91),
+                       new ReduceAction238(92),
+                       new ReduceAction337(92),
+                       new ReduceAction238(93),
+                       new ReduceAction339(93),
+                       new ReduceAction340(93),
+                       new ReduceAction341(93),
+                       new ReduceAction238(94),
                        new ReduceAction343(94),
-                       new ReduceAction344(94),
-                       new ReduceAction345(94),
-                       new ReduceAction346(94),
-                       new ReduceAction347(94),
-                       new ReduceAction348(94),
-                       new ReduceAction205(94),
-                       new ReduceAction202(94),
-                       new ReduceAction351(94),
-                       new ReduceAction352(94),
-                       new ReduceAction202(95),
-                       new ReduceAction203(95),
-                       new ReduceAction204(95),
-                       new ReduceAction205(95),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction213(96),
-                       new ReduceAction214(96),
-                       new ReduceAction215(96),
-                       new ReduceAction216(96),
-                       new ReduceAction217(96),
-                       new ReduceAction218(96),
-                       new ReduceAction219(96),
-                       new ReduceAction220(96),
-                       new ReduceAction221(96),
-                       new ReduceAction222(96),
-                       new ReduceAction223(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction230(96),
-                       new ReduceAction231(96),
-                       new ReduceAction232(96),
-                       new ReduceAction233(96),
-                       new ReduceAction234(96),
-                       new ReduceAction235(96),
-                       new ReduceAction236(96),
-                       new ReduceAction237(96),
-                       new ReduceAction239(97),
-                       new ReduceAction240(97),
-                       new ReduceAction241(98),
-                       new ReduceAction242(98),
-                       new ReduceAction243(98),
-                       new ReduceAction244(98),
-                       new ReduceAction245(98),
-                       new ReduceAction246(98),
-                       new ReduceAction253(99),
-                       new ReduceAction254(100),
-                       new ReduceAction255(100),
-                       new ReduceAction256(100),
-                       new ReduceAction257(100),
-                       new ReduceAction258(101),
-                       new ReduceAction259(101),
-                       new ReduceAction260(101),
-                       new ReduceAction261(101),
-                       new ReduceAction262(101),
-                       new ReduceAction263(101),
-                       new ReduceAction264(101),
-                       new ReduceAction265(101),
-                       new ReduceAction266(101),
-                       new ReduceAction267(101),
+                       new ReduceAction238(95),
+                       new ReduceAction345(95),
+                       new ReduceAction346(95),
+                       new ReduceAction347(95),
+                       new ReduceAction348(95),
+                       new ReduceAction349(95),
+                       new ReduceAction350(95),
+                       new ReduceAction351(95),
+                       new ReduceAction352(95),
+                       new ReduceAction353(95),
+                       new ReduceAction354(95),
+                       new ReduceAction355(95),
+                       new ReduceAction238(96),
+                       new ReduceAction357(96),
+                       new ReduceAction358(96),
+                       new ReduceAction238(97),
+                       new ReduceAction360(97),
+                       new ReduceAction361(97),
+                       new ReduceAction362(97),
+                       new ReduceAction238(98),
+                       new ReduceAction364(98),
+                       new ReduceAction365(98),
+                       new ReduceAction238(99),
+                       new ReduceAction367(99),
+                       new ReduceAction368(99),
+                       new ReduceAction369(99),
+                       new ReduceAction370(100),
+                       new ReduceAction371(100),
+                       new ReduceAction265(100),
+                       new ReduceAction266(100),
+                       new ReduceAction269(100),
+                       new ReduceAction270(100),
+                       new ReduceAction271(100),
+                       new ReduceAction272(100),
+                       new ReduceAction379(100),
+                       new ReduceAction383(100),
+                       new ReduceAction384(100),
+                       new ReduceAction385(100),
+                       new ReduceAction386(100),
+                       new ReduceAction387(100),
+                       new ReduceAction388(100),
+                       new ReduceAction389(100),
+                       new ReduceAction390(100),
+                       new ReduceAction238(100),
+                       new ReduceAction392(100),
+                       new ReduceAction393(100),
+                       new ReduceAction394(100),
+                       new ReduceAction235(101),
+                       new ReduceAction236(101),
+                       new ReduceAction237(101),
+                       new ReduceAction238(101),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction248(102),
+                       new ReduceAction249(102),
+                       new ReduceAction250(102),
+                       new ReduceAction251(102),
+                       new ReduceAction252(102),
+                       new ReduceAction253(102),
+                       new ReduceAction254(102),
+                       new ReduceAction255(102),
+                       new ReduceAction256(102),
+                       new ReduceAction257(102),
+                       new ReduceAction258(102),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction238(102),
+                       new ReduceAction265(102),
+                       new ReduceAction266(102),
+                       new ReduceAction267(102),
+                       new ReduceAction268(102),
+                       new ReduceAction269(102),
                        new ReduceAction270(102),
                        new ReduceAction271(102),
-                       new ReduceAction272(103),
+                       new ReduceAction272(102),
+                       new ReduceAction274(103),
+                       new ReduceAction275(103),
+                       new ReduceAction276(104),
+                       new ReduceAction277(104),
+                       new ReduceAction278(104),
                        new ReduceAction279(104),
                        new ReduceAction280(104),
-                       new ReduceAction281(105),
-                       new ReduceAction282(105),
-                       new ReduceAction283(106),
-                       new ReduceAction284(106),
-                       new ReduceAction285(107),
-                       new ReduceAction286(107),
-                       new ReduceAction205(108),
-                       new ReduceAction232(108),
-                       new ReduceAction233(108),
-                       new ReduceAction293(108),
-                       new ReduceAction205(109),
-                       new ReduceAction232(109),
-                       new ReduceAction233(109),
-                       new ReduceAction202(110),
-                       new ReduceAction203(110),
-                       new ReduceAction204(110),
-                       new ReduceAction202(111),
-                       new ReduceAction203(111),
-                       new ReduceAction204(111),
-                       new ReduceAction205(112),
-                       new ReduceAction232(112),
-                       new ReduceAction233(112),
-                       new ReduceAction205(113),
-                       new ReduceAction295(113),
-                       new ReduceAction205(114),
-                       new ReduceAction297(114),
-                       new ReduceAction298(114),
-                       new ReduceAction299(114),
-                       new ReduceAction205(115),
-                       new ReduceAction301(115),
-                       new ReduceAction205(116),
-                       new ReduceAction303(116),
-                       new ReduceAction304(116),
-                       new ReduceAction305(116),
-                       new ReduceAction306(116),
-                       new ReduceAction307(116),
-                       new ReduceAction308(116),
-                       new ReduceAction309(116),
-                       new ReduceAction310(116),
-                       new ReduceAction311(116),
-                       new ReduceAction312(116),
-                       new ReduceAction313(116),
-                       new ReduceAction205(117),
-                       new ReduceAction315(117),
-                       new ReduceAction316(117),
-                       new ReduceAction205(118),
-                       new ReduceAction318(118),
-                       new ReduceAction319(118),
-                       new ReduceAction320(118),
-                       new ReduceAction205(119),
-                       new ReduceAction322(119),
-                       new ReduceAction323(119),
-                       new ReduceAction205(120),
-                       new ReduceAction325(120),
-                       new ReduceAction326(120),
-                       new ReduceAction327(120),
-                       new ReduceAction328(121),
-                       new ReduceAction329(121),
-                       new ReduceAction230(121),
-                       new ReduceAction231(121),
-                       new ReduceAction234(121),
-                       new ReduceAction235(121),
-                       new ReduceAction236(121),
-                       new ReduceAction237(121),
-                       new ReduceAction336(121),
-                       new ReduceAction337(121),
-                       new ReduceAction341(121),
-                       new ReduceAction342(121),
+                       new ReduceAction281(104),
+                       new ReduceAction282(104),
+                       new ReduceAction283(104),
+                       new ReduceAction284(104),
+                       new ReduceAction293(105),
+                       new ReduceAction294(106),
+                       new ReduceAction295(106),
+                       new ReduceAction296(106),
+                       new ReduceAction297(106),
+                       new ReduceAction298(107),
+                       new ReduceAction299(107),
+                       new ReduceAction300(107),
+                       new ReduceAction301(107),
+                       new ReduceAction302(107),
+                       new ReduceAction303(107),
+                       new ReduceAction304(107),
+                       new ReduceAction305(107),
+                       new ReduceAction306(107),
+                       new ReduceAction307(107),
+                       new ReduceAction310(108),
+                       new ReduceAction311(108),
+                       new ReduceAction312(109),
+                       new ReduceAction319(110),
+                       new ReduceAction320(110),
+                       new ReduceAction321(111),
+                       new ReduceAction322(111),
+                       new ReduceAction323(112),
+                       new ReduceAction324(112),
+                       new ReduceAction325(112),
+                       new ReduceAction326(112),
+                       new ReduceAction327(113),
+                       new ReduceAction328(113),
+                       new ReduceAction238(114),
+                       new ReduceAction267(114),
+                       new ReduceAction268(114),
+                       new ReduceAction335(114),
+                       new ReduceAction238(115),
+                       new ReduceAction267(115),
+                       new ReduceAction268(115),
+                       new ReduceAction235(116),
+                       new ReduceAction236(116),
+                       new ReduceAction237(116),
+                       new ReduceAction235(117),
+                       new ReduceAction236(117),
+                       new ReduceAction237(117),
+                       new ReduceAction238(118),
+                       new ReduceAction267(118),
+                       new ReduceAction268(118),
+                       new ReduceAction238(119),
+                       new ReduceAction337(119),
+                       new ReduceAction238(120),
+                       new ReduceAction339(120),
+                       new ReduceAction340(120),
+                       new ReduceAction341(120),
+                       new ReduceAction238(121),
                        new ReduceAction343(121),
-                       new ReduceAction344(121),
-                       new ReduceAction345(121),
-                       new ReduceAction346(121),
-                       new ReduceAction347(121),
-                       new ReduceAction348(121),
-                       new ReduceAction205(121),
-                       new ReduceAction351(121),
-                       new ReduceAction352(121),
-                       new ReduceAction205(122),
-                       new ReduceAction232(122),
-                       new ReduceAction233(122),
-                       new ReduceAction205(123),
-                       new ReduceAction295(123),
-                       new ReduceAction205(124),
-                       new ReduceAction297(124),
-                       new ReduceAction298(124),
-                       new ReduceAction299(124),
-                       new ReduceAction205(125),
-                       new ReduceAction301(125),
-                       new ReduceAction205(126),
-                       new ReduceAction303(126),
-                       new ReduceAction304(126),
-                       new ReduceAction305(126),
-                       new ReduceAction306(126),
-                       new ReduceAction307(126),
-                       new ReduceAction308(126),
-                       new ReduceAction309(126),
-                       new ReduceAction310(126),
-                       new ReduceAction311(126),
-                       new ReduceAction312(126),
-                       new ReduceAction313(126),
-                       new ReduceAction205(127),
-                       new ReduceAction315(127),
-                       new ReduceAction316(127),
-                       new ReduceAction205(128),
-                       new ReduceAction318(128),
-                       new ReduceAction319(128),
-                       new ReduceAction320(128),
-                       new ReduceAction205(129),
-                       new ReduceAction322(129),
-                       new ReduceAction323(129),
-                       new ReduceAction205(130),
-                       new ReduceAction325(130),
-                       new ReduceAction637(130),
-                       new ReduceAction638(131),
-                       new ReduceAction639(131),
-                       new ReduceAction234(131),
-                       new ReduceAction235(131),
-                       new ReduceAction642(131),
-                       new ReduceAction337(131),
-                       new ReduceAction341(131),
-                       new ReduceAction342(131),
+                       new ReduceAction238(122),
+                       new ReduceAction345(122),
+                       new ReduceAction346(122),
+                       new ReduceAction347(122),
+                       new ReduceAction348(122),
+                       new ReduceAction349(122),
+                       new ReduceAction350(122),
+                       new ReduceAction351(122),
+                       new ReduceAction352(122),
+                       new ReduceAction353(122),
+                       new ReduceAction354(122),
+                       new ReduceAction355(122),
+                       new ReduceAction238(123),
+                       new ReduceAction357(123),
+                       new ReduceAction358(123),
+                       new ReduceAction238(124),
+                       new ReduceAction360(124),
+                       new ReduceAction361(124),
+                       new ReduceAction362(124),
+                       new ReduceAction238(125),
+                       new ReduceAction364(125),
+                       new ReduceAction365(125),
+                       new ReduceAction238(126),
+                       new ReduceAction367(126),
+                       new ReduceAction368(126),
+                       new ReduceAction369(126),
+                       new ReduceAction370(127),
+                       new ReduceAction371(127),
+                       new ReduceAction265(127),
+                       new ReduceAction266(127),
+                       new ReduceAction269(127),
+                       new ReduceAction270(127),
+                       new ReduceAction271(127),
+                       new ReduceAction272(127),
+                       new ReduceAction378(127),
+                       new ReduceAction379(127),
+                       new ReduceAction383(127),
+                       new ReduceAction384(127),
+                       new ReduceAction385(127),
+                       new ReduceAction386(127),
+                       new ReduceAction387(127),
+                       new ReduceAction388(127),
+                       new ReduceAction389(127),
+                       new ReduceAction390(127),
+                       new ReduceAction238(127),
+                       new ReduceAction393(127),
+                       new ReduceAction394(127),
+                       new ReduceAction238(128),
+                       new ReduceAction267(128),
+                       new ReduceAction268(128),
+                       new ReduceAction238(129),
+                       new ReduceAction337(129),
+                       new ReduceAction238(130),
+                       new ReduceAction339(130),
+                       new ReduceAction340(130),
+                       new ReduceAction341(130),
+                       new ReduceAction238(131),
                        new ReduceAction343(131),
-                       new ReduceAction344(131),
-                       new ReduceAction345(131),
-                       new ReduceAction346(131),
-                       new ReduceAction347(131),
-                       new ReduceAction348(131),
-                       new ReduceAction205(131),
-                       new ReduceAction351(131),
-                       new ReduceAction352(131),
-                       new ReduceAction655(132),
-                       new ReduceAction656(132),
-                       new ReduceAction205(133),
-                       new ReduceAction232(133),
-                       new ReduceAction233(133),
-                       new ReduceAction205(134),
-                       new ReduceAction232(134),
-                       new ReduceAction233(134),
-                       new ReduceAction663(135),
-                       new ReduceAction664(135),
-                       new ReduceAction665(136),
-                       new ReduceAction666(136),
-                       new ReduceAction667(137),
-                       new ReduceAction668(137),
-                       new ReduceAction669(138),
-                       new ReduceAction670(138),
-                       new ReduceAction667(139),
-                       new ReduceAction668(139),
-                       new ReduceAction673(140),
-                       new ReduceAction674(140),
-                       new ReduceAction675(141),
-                       new ReduceAction676(141),
-                       new ReduceAction677(142),
-                       new ReduceAction678(142),
-                       new ReduceAction198(143),
-                       new ReduceAction680(143),
-                       new ReduceAction366(144),
-                       new ReduceAction682(144),
-                       new ReduceAction373(145),
-                       new ReduceAction684(145),
-                       new ReduceAction366(146),
-                       new ReduceAction682(146),
-                       new ReduceAction374(147),
-                       new ReduceAction688(147),
-                       new ReduceAction689(148),
-                       new ReduceAction690(148),
-                       new ReduceAction691(149),
-                       new ReduceAction692(149)
+                       new ReduceAction238(132),
+                       new ReduceAction345(132),
+                       new ReduceAction346(132),
+                       new ReduceAction347(132),
+                       new ReduceAction348(132),
+                       new ReduceAction349(132),
+                       new ReduceAction350(132),
+                       new ReduceAction351(132),
+                       new ReduceAction352(132),
+                       new ReduceAction353(132),
+                       new ReduceAction354(132),
+                       new ReduceAction355(132),
+                       new ReduceAction238(133),
+                       new ReduceAction357(133),
+                       new ReduceAction358(133),
+                       new ReduceAction238(134),
+                       new ReduceAction360(134),
+                       new ReduceAction361(134),
+                       new ReduceAction362(134),
+                       new ReduceAction238(135),
+                       new ReduceAction364(135),
+                       new ReduceAction365(135),
+                       new ReduceAction238(136),
+                       new ReduceAction367(136),
+                       new ReduceAction690(136),
+                       new ReduceAction691(137),
+                       new ReduceAction692(137),
+                       new ReduceAction269(137),
+                       new ReduceAction270(137),
+                       new ReduceAction695(137),
+                       new ReduceAction379(137),
+                       new ReduceAction383(137),
+                       new ReduceAction384(137),
+                       new ReduceAction385(137),
+                       new ReduceAction386(137),
+                       new ReduceAction387(137),
+                       new ReduceAction388(137),
+                       new ReduceAction389(137),
+                       new ReduceAction390(137),
+                       new ReduceAction238(137),
+                       new ReduceAction393(137),
+                       new ReduceAction394(137),
+                       new ReduceAction708(138),
+                       new ReduceAction709(138),
+                       new ReduceAction238(139),
+                       new ReduceAction267(139),
+                       new ReduceAction268(139),
+                       new ReduceAction238(140),
+                       new ReduceAction267(140),
+                       new ReduceAction268(140),
+                       new ReduceAction716(141),
+                       new ReduceAction717(141),
+                       new ReduceAction718(142),
+                       new ReduceAction719(142),
+                       new ReduceAction720(143),
+                       new ReduceAction721(143),
+                       new ReduceAction722(144),
+                       new ReduceAction723(144),
+                       new ReduceAction720(145),
+                       new ReduceAction721(145),
+                       new ReduceAction726(146),
+                       new ReduceAction727(146),
+                       new ReduceAction728(147),
+                       new ReduceAction729(147),
+                       new ReduceAction730(148),
+                       new ReduceAction731(148),
+                       new ReduceAction732(149),
+                       new ReduceAction733(149),
+                       new ReduceAction231(150),
+                       new ReduceAction735(150),
+                       new ReduceAction408(151),
+                       new ReduceAction737(151),
+                       new ReduceAction738(152),
+                       new ReduceAction739(152),
+                       new ReduceAction408(153),
+                       new ReduceAction737(153),
+                       new ReduceAction414(154),
+                       new ReduceAction743(154),
+                       new ReduceAction744(155),
+                       new ReduceAction745(155),
+                       new ReduceAction746(156),
+                       new ReduceAction747(156)
                )
        end
 end
@@ -955,6 +1008,8 @@ private abstract class ReduceAction
                l1.append(l2)
                return l1
        end
+       var _goto: Int
+       init(g: Int) do _goto = g
 end
 
 private class ReduceAction0
@@ -972,8 +1027,6 @@ private class ReduceAction0
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction1
        super ReduceAction
@@ -993,8 +1046,6 @@ private class ReduceAction1
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction2
        super ReduceAction
@@ -1015,8 +1066,6 @@ private class ReduceAction2
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction3
        super ReduceAction
@@ -1040,8 +1089,6 @@ private class ReduceAction3
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction4
        super ReduceAction
@@ -1062,8 +1109,6 @@ private class ReduceAction4
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction5
        super ReduceAction
@@ -1087,8 +1132,6 @@ private class ReduceAction5
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction6
        super ReduceAction
@@ -1113,8 +1156,6 @@ private class ReduceAction6
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction7
        super ReduceAction
@@ -1142,8 +1183,6 @@ private class ReduceAction7
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction8
        super ReduceAction
@@ -1171,8 +1210,6 @@ private class ReduceAction8
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction9
        super ReduceAction
@@ -1203,8 +1240,6 @@ private class ReduceAction9
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction10
        super ReduceAction
@@ -1236,8 +1271,6 @@ private class ReduceAction10
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction11
        super ReduceAction
@@ -1272,8 +1305,6 @@ private class ReduceAction11
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction12
        super ReduceAction
@@ -1305,8 +1336,6 @@ private class ReduceAction12
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction13
        super ReduceAction
@@ -1341,8 +1370,6 @@ private class ReduceAction13
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction14
        super ReduceAction
@@ -1378,8 +1405,6 @@ private class ReduceAction14
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction15
        super ReduceAction
@@ -1418,8 +1443,6 @@ private class ReduceAction15
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction16
        super ReduceAction
@@ -1442,8 +1465,6 @@ private class ReduceAction16
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction17
        super ReduceAction
@@ -1469,8 +1490,6 @@ private class ReduceAction17
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction18
        super ReduceAction
@@ -1497,8 +1516,6 @@ private class ReduceAction18
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction19
        super ReduceAction
@@ -1528,8 +1545,6 @@ private class ReduceAction19
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction20
        super ReduceAction
@@ -1556,8 +1571,6 @@ private class ReduceAction20
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction21
        super ReduceAction
@@ -1587,8 +1600,6 @@ private class ReduceAction21
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction22
        super ReduceAction
@@ -1619,8 +1630,6 @@ private class ReduceAction22
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction23
        super ReduceAction
@@ -1654,8 +1663,6 @@ private class ReduceAction23
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction24
        super ReduceAction
@@ -1689,8 +1696,6 @@ private class ReduceAction24
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction25
        super ReduceAction
@@ -1727,8 +1732,6 @@ private class ReduceAction25
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction26
        super ReduceAction
@@ -1766,8 +1769,6 @@ private class ReduceAction26
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction27
        super ReduceAction
@@ -1808,8 +1809,6 @@ private class ReduceAction27
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction28
        super ReduceAction
@@ -1847,8 +1846,6 @@ private class ReduceAction28
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction29
        super ReduceAction
@@ -1889,8 +1886,6 @@ private class ReduceAction29
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction30
        super ReduceAction
@@ -1932,8 +1927,6 @@ private class ReduceAction30
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction31
        super ReduceAction
@@ -1978,8 +1971,6 @@ private class ReduceAction31
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction32
        super ReduceAction
@@ -1995,18 +1986,16 @@ private class ReduceAction32
                                        assert pdocnode2 isa nullable ADoc
                                        var tkwmodulenode3 = nodearraylist2
                                        assert tkwmodulenode3 isa nullable TKwmodule
-                                       var tidnode4 = nodearraylist4
-                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode4 = nodearraylist4
+                                       assert pmodulenamenode4 isa nullable AModuleName
                                        var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
                                                pdocnode2,
                                                tkwmodulenode3,
-                                               tidnode4
+                                               pmodulenamenode4
                                        )
                                        node_list = pmoduledeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction33
        super ReduceAction
@@ -2023,18 +2012,16 @@ private class ReduceAction33
                                        assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
-                                       var tidnode4 = nodearraylist5
-                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode4 = nodearraylist5
+                                       assert pmodulenamenode4 isa nullable AModuleName
                                        var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
                                                pvisibilitynode2,
                                                tkwimportnode3,
-                                               tidnode4
+                                               pmodulenamenode4
                                        )
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction34
        super ReduceAction
@@ -2061,8 +2048,6 @@ private class ReduceAction34
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction35
        super ReduceAction
@@ -2082,8 +2067,6 @@ private class ReduceAction35
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction36
        super ReduceAction
@@ -2094,8 +2077,6 @@ private class ReduceAction36
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction37
        super ReduceAction
@@ -2113,8 +2094,6 @@ private class ReduceAction37
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction39
        super ReduceAction
@@ -2139,6 +2118,8 @@ private class ReduceAction39
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
+                                       var tkwendnode10 = nodearraylist7
+                                       assert tkwendnode10 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2147,13 +2128,12 @@ private class ReduceAction39
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode9
+                                               listnode9,
+                                               tkwendnode10
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction40
        super ReduceAction
@@ -2181,6 +2161,8 @@ private class ReduceAction40
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
+                                       var tkwendnode10 = nodearraylist8
+                                       assert tkwendnode10 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2189,13 +2171,12 @@ private class ReduceAction40
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode9
+                                               listnode9,
+                                               tkwendnode10
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction41
        super ReduceAction
@@ -2224,6 +2205,8 @@ private class ReduceAction41
                                        var listnode7 = nodearraylist6
                                        assert listnode7 isa Array[Object]
                                        listnode8 = concat(listnode8, listnode7)
+                                       var tkwendnode11 = nodearraylist8
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2232,13 +2215,12 @@ private class ReduceAction41
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction42
        super ReduceAction
@@ -2270,6 +2252,8 @@ private class ReduceAction42
                                        var listnode7 = nodearraylist7
                                        assert listnode7 isa Array[Object]
                                        listnode8 = concat(listnode8, listnode7)
+                                       var tkwendnode11 = nodearraylist9
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2278,13 +2262,12 @@ private class ReduceAction42
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction43
        super ReduceAction
@@ -2313,6 +2296,8 @@ private class ReduceAction43
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        listnode9 = concat(listnode9, listnode8)
+                                       var tkwendnode11 = nodearraylist8
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2321,13 +2306,12 @@ private class ReduceAction43
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction44
        super ReduceAction
@@ -2359,6 +2343,8 @@ private class ReduceAction44
                                        var listnode8 = nodearraylist7
                                        assert listnode8 isa Array[Object]
                                        listnode9 = concat(listnode9, listnode8)
+                                       var tkwendnode11 = nodearraylist9
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2367,13 +2353,12 @@ private class ReduceAction44
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction45
        super ReduceAction
@@ -2406,6 +2391,8 @@ private class ReduceAction45
                                        var listnode9 = nodearraylist7
                                        assert listnode9 isa Array[Object]
                                        listnode10 = concat(listnode10, listnode9)
+                                       var tkwendnode12 = nodearraylist9
+                                       assert tkwendnode12 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2414,13 +2401,12 @@ private class ReduceAction45
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction46
        super ReduceAction
@@ -2456,6 +2442,8 @@ private class ReduceAction46
                                        var listnode9 = nodearraylist8
                                        assert listnode9 isa Array[Object]
                                        listnode10 = concat(listnode10, listnode9)
+                                       var tkwendnode12 = nodearraylist10
+                                       assert tkwendnode12 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2464,13 +2452,12 @@ private class ReduceAction46
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction47
        super ReduceAction
@@ -2499,6 +2486,8 @@ private class ReduceAction47
                                        var listnode9 = nodearraylist6
                                        assert listnode9 isa Array[Object]
                                        listnode10 = concat(listnode10, listnode9)
+                                       var tkwendnode11 = nodearraylist8
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2507,13 +2496,12 @@ private class ReduceAction47
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction48
        super ReduceAction
@@ -2545,6 +2533,8 @@ private class ReduceAction48
                                        var listnode9 = nodearraylist7
                                        assert listnode9 isa Array[Object]
                                        listnode10 = concat(listnode10, listnode9)
+                                       var tkwendnode11 = nodearraylist9
+                                       assert tkwendnode11 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2553,13 +2543,12 @@ private class ReduceAction48
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction49
        super ReduceAction
@@ -2592,6 +2581,8 @@ private class ReduceAction49
                                        var listnode10 = nodearraylist7
                                        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,
                                                null,
@@ -2600,13 +2591,12 @@ private class ReduceAction49
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction50
        super ReduceAction
@@ -2642,6 +2632,8 @@ private class ReduceAction50
                                        var listnode10 = nodearraylist8
                                        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,
@@ -2650,13 +2642,12 @@ private class ReduceAction50
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction51
        super ReduceAction
@@ -2689,6 +2680,8 @@ private class ReduceAction51
                                        var listnode10 = nodearraylist7
                                        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,
                                                null,
@@ -2697,13 +2690,12 @@ private class ReduceAction51
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction52
        super ReduceAction
@@ -2739,6 +2731,8 @@ private class ReduceAction52
                                        var listnode10 = nodearraylist8
                                        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,
@@ -2747,13 +2741,12 @@ private class ReduceAction52
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction53
        super ReduceAction
@@ -2790,6 +2783,8 @@ private class ReduceAction53
                                        var listnode11 = nodearraylist8
                                        assert listnode11 isa Array[Object]
                                        listnode12 = concat(listnode12, listnode11)
+                                       var tkwendnode13 = nodearraylist10
+                                       assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
@@ -2798,13 +2793,12 @@ private class ReduceAction53
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode12
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction54
        super ReduceAction
@@ -2844,6 +2838,8 @@ private class ReduceAction54
                                        var listnode11 = nodearraylist9
                                        assert listnode11 isa Array[Object]
                                        listnode12 = concat(listnode12, listnode11)
+                                       var tkwendnode13 = nodearraylist11
+                                       assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2852,13 +2848,12 @@ private class ReduceAction54
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode12
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction55
        super ReduceAction
@@ -2874,8 +2869,6 @@ private class ReduceAction55
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction56
        super ReduceAction
@@ -2895,8 +2888,6 @@ private class ReduceAction56
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction57
        super ReduceAction
@@ -2912,8 +2903,6 @@ private class ReduceAction57
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction58
        super ReduceAction
@@ -2929,14 +2918,27 @@ private class ReduceAction58
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction59
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwexternnode2 = nodearraylist1
+                                       assert tkwexternnode2 isa nullable TKwextern
+                                       var pclasskindnode1: nullable AExternClasskind = new AExternClasskind.init_aexternclasskind(
+                                               tkwexternnode2
+                                       )
+                                       node_list = pclasskindnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction60
+       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
@@ -2950,10 +2952,8 @@ private class ReduceAction59
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction60
+private class ReduceAction61
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2975,10 +2975,8 @@ private class ReduceAction60
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction61
+private class ReduceAction62
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2990,10 +2988,8 @@ private class ReduceAction61
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction62
+private class ReduceAction63
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3008,10 +3004,8 @@ private class ReduceAction62
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction63
+private class ReduceAction64
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3029,10 +3023,8 @@ private class ReduceAction63
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction64
+private class ReduceAction65
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3053,10 +3045,8 @@ private class ReduceAction64
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction65
+private class ReduceAction66
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3077,10 +3067,8 @@ private class ReduceAction65
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction66
+private class ReduceAction67
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3091,10 +3079,8 @@ private class ReduceAction66
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction67
+private class ReduceAction68
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3130,10 +3116,8 @@ private class ReduceAction67
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction68
+private class ReduceAction69
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3172,10 +3156,8 @@ private class ReduceAction68
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction69
+private class ReduceAction70
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3212,10 +3194,8 @@ private class ReduceAction69
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction70
+private class ReduceAction71
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3255,10 +3235,8 @@ private class ReduceAction70
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction71
+private class ReduceAction72
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3295,10 +3273,8 @@ private class ReduceAction71
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction72
+private class ReduceAction73
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3338,10 +3314,8 @@ private class ReduceAction72
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction73
+private class ReduceAction74
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3374,10 +3348,8 @@ private class ReduceAction73
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction74
+private class ReduceAction75
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3413,10 +3385,8 @@ private class ReduceAction74
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction75
+private class ReduceAction76
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3449,10 +3419,8 @@ private class ReduceAction75
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction76
+private class ReduceAction77
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3488,10 +3456,8 @@ private class ReduceAction76
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction77
+private class ReduceAction78
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3520,15 +3486,14 @@ private class ReduceAction77
                                                tkwmethnode5,
                                                pmethidnode6,
                                                psignaturenode7,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction78
+private class ReduceAction79
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3560,15 +3525,14 @@ private class ReduceAction78
                                                tkwmethnode5,
                                                pmethidnode6,
                                                psignaturenode7,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction79
+private class ReduceAction80
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3600,15 +3564,14 @@ private class ReduceAction79
                                                tkwmethnode5,
                                                pmethidnode6,
                                                psignaturenode7,
-                                               tstringnode8
+                                               tstringnode8,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction80
+private class ReduceAction81
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3643,36 +3606,203 @@ private class ReduceAction80
                                                tkwmethnode5,
                                                pmethidnode6,
                                                psignaturenode7,
-                                               tstringnode8
+                                               tstringnode8,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction81
+private class ReduceAction82
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode7 = nodearraylist3
-                                       assert tkwvarnode7 isa nullable TKwvar
-                                       var tattridnode8 = nodearraylist4
-                                       assert tattridnode8 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               null,
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwmethnode5 = nodearraylist3
+                                       assert tkwmethnode5 isa nullable TKwmeth
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist8
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwmethnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction83
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwmethnode5 = nodearraylist4
+                                       assert tkwmethnode5 isa nullable TKwmeth
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist9
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwmethnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction84
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwmethnode5 = nodearraylist3
+                                       assert tkwmethnode5 isa nullable TKwmeth
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist8
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist9
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwmethnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction85
+       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 pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwmethnode5 = nodearraylist4
+                                       assert tkwmethnode5 isa nullable TKwmeth
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist9
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist10
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwmethnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction86
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode6 = nodearraylist2
+                                       assert pvisibilitynode6 isa nullable AVisibility
+                                       var tkwvarnode7 = nodearraylist3
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist4
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
+                                               pdocnode2,
+                                               null,
+                                               null,
+                                               null,
                                                pvisibilitynode6,
                                                tkwvarnode7,
                                                tattridnode8,
@@ -3683,10 +3813,8 @@ private class ReduceAction81
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction82
+private class ReduceAction87
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3721,10 +3849,8 @@ private class ReduceAction82
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction83
+private class ReduceAction88
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3759,10 +3885,8 @@ private class ReduceAction83
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction84
+private class ReduceAction89
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3800,10 +3924,8 @@ private class ReduceAction84
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction85
+private class ReduceAction90
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3838,10 +3960,8 @@ private class ReduceAction85
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction86
+private class ReduceAction91
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3879,10 +3999,8 @@ private class ReduceAction86
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction87
+private class ReduceAction92
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3920,10 +4038,8 @@ private class ReduceAction87
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction88
+private class ReduceAction93
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3964,10 +4080,8 @@ private class ReduceAction88
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction89
+private class ReduceAction94
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4002,10 +4116,8 @@ private class ReduceAction89
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction90
+private class ReduceAction95
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4043,10 +4155,8 @@ private class ReduceAction90
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction91
+private class ReduceAction96
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4084,10 +4194,8 @@ private class ReduceAction91
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction92
+private class ReduceAction97
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4128,10 +4236,8 @@ private class ReduceAction92
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction93
+private class ReduceAction98
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4169,10 +4275,8 @@ private class ReduceAction93
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction94
+private class ReduceAction99
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4213,10 +4317,8 @@ private class ReduceAction94
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction95
+private class ReduceAction100
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4257,10 +4359,8 @@ private class ReduceAction95
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction96
+private class ReduceAction101
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4304,10 +4404,8 @@ private class ReduceAction96
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction97
+private class ReduceAction102
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4344,10 +4442,8 @@ private class ReduceAction97
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction98
+private class ReduceAction103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4387,10 +4483,8 @@ private class ReduceAction98
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction99
+private class ReduceAction104
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4430,10 +4524,8 @@ private class ReduceAction99
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction100
+private class ReduceAction105
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4476,10 +4568,8 @@ private class ReduceAction100
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction101
+private class ReduceAction106
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4519,10 +4609,8 @@ private class ReduceAction101
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction102
+private class ReduceAction107
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4565,10 +4653,8 @@ private class ReduceAction102
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction103
+private class ReduceAction108
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4611,10 +4697,8 @@ private class ReduceAction103
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction104
+private class ReduceAction109
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4660,10 +4744,8 @@ private class ReduceAction104
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction105
+private class ReduceAction110
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4703,10 +4785,8 @@ private class ReduceAction105
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction106
+private class ReduceAction111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4749,10 +4829,8 @@ private class ReduceAction106
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction107
+private class ReduceAction112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4795,10 +4873,8 @@ private class ReduceAction107
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction108
+private class ReduceAction113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4844,10 +4920,8 @@ private class ReduceAction108
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction109
+private class ReduceAction114
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4890,10 +4964,8 @@ private class ReduceAction109
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction110
+private class ReduceAction115
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4939,10 +5011,8 @@ private class ReduceAction110
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction111
+private class ReduceAction116
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4988,10 +5058,8 @@ private class ReduceAction111
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction112
+private class ReduceAction117
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5040,10 +5108,8 @@ private class ReduceAction112
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction113
+private class ReduceAction118
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5075,10 +5141,8 @@ private class ReduceAction113
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction114
+private class ReduceAction119
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5113,10 +5177,8 @@ private class ReduceAction114
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction115
+private class ReduceAction120
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5151,10 +5213,8 @@ private class ReduceAction115
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction116
+private class ReduceAction121
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5192,10 +5252,8 @@ private class ReduceAction116
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction117
+private class ReduceAction122
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5230,10 +5288,8 @@ private class ReduceAction117
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction118
+private class ReduceAction123
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5271,10 +5327,8 @@ private class ReduceAction118
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction119
+private class ReduceAction124
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5312,10 +5366,8 @@ private class ReduceAction119
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction120
+private class ReduceAction125
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5356,10 +5408,8 @@ private class ReduceAction120
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction121
+private class ReduceAction126
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5396,10 +5446,8 @@ private class ReduceAction121
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction122
+private class ReduceAction127
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5439,10 +5487,8 @@ private class ReduceAction122
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction123
+private class ReduceAction128
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5482,10 +5528,8 @@ private class ReduceAction123
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction124
+private class ReduceAction129
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5528,10 +5572,8 @@ private class ReduceAction124
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction125
+private class ReduceAction130
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5571,10 +5613,8 @@ private class ReduceAction125
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction126
+private class ReduceAction131
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5617,10 +5657,8 @@ private class ReduceAction126
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction127
+private class ReduceAction132
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5663,10 +5701,8 @@ private class ReduceAction127
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction128
+private class ReduceAction133
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5712,10 +5748,8 @@ private class ReduceAction128
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction129
+private class ReduceAction134
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5748,10 +5782,8 @@ private class ReduceAction129
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction130
+private class ReduceAction135
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5787,10 +5819,8 @@ private class ReduceAction130
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction131
+private class ReduceAction136
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5826,10 +5856,8 @@ private class ReduceAction131
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction132
+private class ReduceAction137
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5868,10 +5896,8 @@ private class ReduceAction132
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction133
+private class ReduceAction138
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5905,10 +5931,8 @@ private class ReduceAction133
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction134
+private class ReduceAction139
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5945,10 +5969,8 @@ private class ReduceAction134
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction135
+private class ReduceAction140
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5985,10 +6007,8 @@ private class ReduceAction135
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction136
+private class ReduceAction141
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6028,10 +6048,8 @@ private class ReduceAction136
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction137
+private class ReduceAction142
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6062,10 +6080,8 @@ private class ReduceAction137
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction138
+private class ReduceAction143
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6099,112 +6115,724 @@ private class ReduceAction138
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction139
+private class ReduceAction144
        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 tkwreadablenode3 = nodearraylist1
-                                       assert tkwreadablenode3 isa nullable TKwreadable
-                                       var pablenode1: nullable AReadAble = new AReadAble.init_areadable(
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist4
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
                                                null,
-                                               tkwreadablenode3
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               null,
+                                               null
                                        )
-                                       node_list = pablenode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction140
+private class ReduceAction145
        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 tkwredefnode2 = nodearraylist1
-                                       assert tkwredefnode2 isa nullable TKwredef
-                                       var tkwreadablenode3 = nodearraylist2
-                                       assert tkwreadablenode3 isa nullable TKwreadable
-                                       var pablenode1: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode2,
-                                               tkwreadablenode3
-                                       )
-                                       node_list = pablenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction141
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwwritablenode4 = nodearraylist1
-                                       assert tkwwritablenode4 isa nullable TKwwritable
-                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
+                                       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 tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
                                                null,
+                                               psignaturenode7,
                                                null,
-                                               tkwwritablenode4
+                                               null
                                        )
-                                       node_list = pablenode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction142
+private class ReduceAction146
        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 tkwredefnode2 = nodearraylist1
-                                       assert tkwredefnode2 isa nullable TKwredef
-                                       var tkwwritablenode4 = nodearraylist2
-                                       assert tkwwritablenode4 isa nullable TKwwritable
-                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode2,
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
                                                null,
-                                               tkwwritablenode4
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               null
                                        )
-                                       node_list = pablenode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction143
+private class ReduceAction147
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pvisibilitynode3 = nodearraylist1
-                                       assert pvisibilitynode3 isa nullable AVisibility
-                                       var tkwwritablenode4 = nodearraylist2
-                                       assert tkwwritablenode4 isa nullable TKwwritable
-                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
+                                       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 tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               null
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction148
+       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 pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist4
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist7
+                                       assert tstringnode8 isa nullable TString
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               null
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction149
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist8
+                                       assert tstringnode8 isa nullable TString
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               null
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction150
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist8
+                                       assert tstringnode8 isa nullable TString
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               null
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction151
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist9
+                                       assert tstringnode8 isa nullable TString
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               null
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction152
+       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 pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist4
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist7
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction153
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist8
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction154
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist8
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction155
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexterncallsnode9 = nodearraylist9
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               null,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction156
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist4
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist7
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist8
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction157
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist8
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist9
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               null,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction158
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist3
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist8
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist9
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               null,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction159
+       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 pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwnewnode5 = nodearraylist4
+                                       assert tkwnewnode5 isa nullable TKwnew
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var tstringnode8 = nodearraylist9
+                                       assert tstringnode8 isa nullable TString
+                                       var pexterncallsnode9 = nodearraylist10
+                                       assert pexterncallsnode9 isa nullable AExternCalls
+                                       var ppropdefnode1: nullable AExternInitPropdef = new AExternInitPropdef.init_aexterninitpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwnewnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               tstringnode8,
+                                               pexterncallsnode9
+                                       )
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction160
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwreadablenode3 = nodearraylist1
+                                       assert tkwreadablenode3 isa nullable TKwreadable
+                                       var pablenode1: nullable AReadAble = new AReadAble.init_areadable(
+                                               null,
+                                               tkwreadablenode3
+                                       )
+                                       node_list = pablenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction161
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwredefnode2 = nodearraylist1
+                                       assert tkwredefnode2 isa nullable TKwredef
+                                       var tkwreadablenode3 = nodearraylist2
+                                       assert tkwreadablenode3 isa nullable TKwreadable
+                                       var pablenode1: nullable AReadAble = new AReadAble.init_areadable(
+                                               tkwredefnode2,
+                                               tkwreadablenode3
+                                       )
+                                       node_list = pablenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction162
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwwritablenode4 = nodearraylist1
+                                       assert tkwwritablenode4 isa nullable TKwwritable
+                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
+                                               null,
+                                               null,
+                                               tkwwritablenode4
+                                       )
+                                       node_list = pablenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction163
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwredefnode2 = nodearraylist1
+                                       assert tkwredefnode2 isa nullable TKwredef
+                                       var tkwwritablenode4 = nodearraylist2
+                                       assert tkwwritablenode4 isa nullable TKwwritable
+                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
+                                               tkwredefnode2,
+                                               null,
+                                               tkwwritablenode4
+                                       )
+                                       node_list = pablenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction164
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pvisibilitynode3 = nodearraylist1
+                                       assert pvisibilitynode3 isa nullable AVisibility
+                                       var tkwwritablenode4 = nodearraylist2
+                                       assert tkwwritablenode4 isa nullable TKwwritable
+                                       var pablenode1: nullable AWriteAble = new AWriteAble.init_awriteable(
+                                               null,
                                                pvisibilitynode3,
                                                tkwwritablenode4
                                        )
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction144
+private class ReduceAction165
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6226,10 +6854,8 @@ private class ReduceAction144
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction145
+private class ReduceAction166
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6239,10 +6865,8 @@ private class ReduceAction145
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction146
+private class ReduceAction167
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6257,10 +6881,8 @@ private class ReduceAction146
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction147
+private class ReduceAction168
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6275,10 +6897,8 @@ private class ReduceAction147
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction148
+private class ReduceAction169
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6293,10 +6913,8 @@ private class ReduceAction148
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction149
+private class ReduceAction170
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6310,10 +6928,8 @@ private class ReduceAction149
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction150
+private class ReduceAction171
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6327,10 +6943,8 @@ private class ReduceAction150
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction151
+private class ReduceAction172
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6344,10 +6958,8 @@ private class ReduceAction151
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction152
+private class ReduceAction173
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6361,10 +6973,8 @@ private class ReduceAction152
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction153
+private class ReduceAction174
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6378,10 +6988,8 @@ private class ReduceAction153
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction154
+private class ReduceAction175
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6395,10 +7003,8 @@ private class ReduceAction154
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction155
+private class ReduceAction176
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6412,10 +7018,8 @@ private class ReduceAction155
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction156
+private class ReduceAction177
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6429,10 +7033,8 @@ private class ReduceAction156
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction157
+private class ReduceAction178
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6446,10 +7048,8 @@ private class ReduceAction157
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction158
+private class ReduceAction179
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6463,10 +7063,8 @@ private class ReduceAction158
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction159
+private class ReduceAction180
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6480,10 +7078,8 @@ private class ReduceAction159
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction160
+private class ReduceAction181
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6497,10 +7093,8 @@ private class ReduceAction160
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction161
+private class ReduceAction182
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6514,10 +7108,8 @@ private class ReduceAction161
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction162
+private class ReduceAction183
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6531,10 +7123,8 @@ private class ReduceAction162
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction163
+private class ReduceAction184
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6552,10 +7142,8 @@ private class ReduceAction163
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction164
+private class ReduceAction185
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6569,10 +7157,8 @@ private class ReduceAction164
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction165
+private class ReduceAction186
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6590,10 +7176,8 @@ private class ReduceAction165
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction166
+private class ReduceAction187
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6615,10 +7199,8 @@ private class ReduceAction166
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction167
+private class ReduceAction188
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6640,10 +7222,8 @@ private class ReduceAction167
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction168
+private class ReduceAction189
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6669,10 +7249,8 @@ private class ReduceAction168
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction169
+private class ReduceAction190
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6691,10 +7269,8 @@ private class ReduceAction169
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction170
+private class ReduceAction191
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6717,10 +7293,8 @@ private class ReduceAction170
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction171
+private class ReduceAction192
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6739,10 +7313,8 @@ private class ReduceAction171
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction172
+private class ReduceAction193
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6765,10 +7337,8 @@ private class ReduceAction172
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction173
+private class ReduceAction194
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6784,10 +7354,8 @@ private class ReduceAction173
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction174
+private class ReduceAction195
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6807,10 +7375,8 @@ private class ReduceAction174
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction175
+private class ReduceAction196
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6825,10 +7391,8 @@ private class ReduceAction175
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction176
+private class ReduceAction197
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6847,10 +7411,8 @@ private class ReduceAction176
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction177
+private class ReduceAction198
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6868,10 +7430,8 @@ private class ReduceAction177
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction178
+private class ReduceAction199
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6893,10 +7453,8 @@ private class ReduceAction178
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction179
+private class ReduceAction200
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6914,10 +7472,8 @@ private class ReduceAction179
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction180
+private class ReduceAction201
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6939,10 +7495,8 @@ private class ReduceAction180
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction181
+private class ReduceAction202
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6954,10 +7508,8 @@ private class ReduceAction181
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction182
+private class ReduceAction203
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6969,10 +7521,8 @@ private class ReduceAction182
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction183
+private class ReduceAction204
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6988,10 +7538,8 @@ private class ReduceAction183
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction184
+private class ReduceAction205
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7010,10 +7558,8 @@ private class ReduceAction184
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction185
+private class ReduceAction206
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7035,10 +7581,8 @@ private class ReduceAction185
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction186
+private class ReduceAction207
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7052,10 +7596,8 @@ private class ReduceAction186
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction187
+private class ReduceAction208
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7080,10 +7622,8 @@ private class ReduceAction187
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction188
+private class ReduceAction209
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7111,10 +7651,8 @@ private class ReduceAction188
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction189
+private class ReduceAction210
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7143,10 +7681,8 @@ private class ReduceAction189
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction190
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7178,10 +7714,8 @@ private class ReduceAction190
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction191
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7211,10 +7745,8 @@ private class ReduceAction191
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction192
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7247,10 +7779,8 @@ private class ReduceAction192
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction193
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7265,10 +7795,233 @@ private class ReduceAction193
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction194
+private class ReduceAction215
+       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 listnode4 = new Array[Object]
+                                       var tkwimportnode2 = nodearraylist1
+                                       assert tkwimportnode2 isa nullable TKwimport
+                                       var pexterncallnode3 = nodearraylist3
+                                       assert pexterncallnode3 isa nullable AExternCall
+                                       if pexterncallnode3 != null then
+                                               listnode4.add(pexterncallnode3)
+                                       end
+                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
+                                               tkwimportnode2,
+                                               listnode4
+                                       )
+                                       node_list = pexterncallsnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction216
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tkwimportnode2 = nodearraylist1
+                                       assert tkwimportnode2 isa nullable TKwimport
+                                       var pexterncallnode3 = nodearraylist3
+                                       assert pexterncallnode3 isa nullable AExternCall
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       if pexterncallnode3 != null then
+                                               listnode5.add(pexterncallnode3)
+                                       end
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
+                                               tkwimportnode2,
+                                               listnode5
+                                       )
+                                       node_list = pexterncallsnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction217
+       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 pexterncallnode1 = nodearraylist3
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction218
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var pexterncallnode1 = nodearraylist1
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction220
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwsupernode2 = nodearraylist1
+                                       assert tkwsupernode2 isa nullable TKwsuper
+                                       var pexterncallnode1: nullable ASuperExternCall = new ASuperExternCall.init_asuperexterncall(
+                                               tkwsupernode2
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction221
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var pmethidnode2 = nodearraylist1
+                                       assert pmethidnode2 isa nullable AMethid
+                                       var pexterncallnode1: nullable ALocalPropExternCall = new ALocalPropExternCall.init_alocalpropexterncall(
+                                               pmethidnode2
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction222
+       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 tquadnode3 = nodearraylist2
+                                       assert tquadnode3 isa nullable TQuad
+                                       var pmethidnode4 = nodearraylist3
+                                       assert pmethidnode4 isa nullable AMethid
+                                       var pexterncallnode1: nullable AFullPropExternCall = new AFullPropExternCall.init_afullpropexterncall(
+                                               tclassidnode2,
+                                               tquadnode3,
+                                               pmethidnode4
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction223
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tclassidnode2 = nodearraylist1
+                                       assert tclassidnode2 isa nullable TClassid
+                                       var pexterncallnode1: nullable AInitPropExternCall = new AInitPropExternCall.init_ainitpropexterncall(
+                                               tclassidnode2
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction224
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist2
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var ptypenode4 = nodearraylist6
+                                       assert ptypenode4 isa nullable AType
+                                       var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               ptypenode4
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction225
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist2
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnullablenode4 = nodearraylist4
+                                       assert tkwnullablenode4 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnullablenode4
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction226
+       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 ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist2
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnotnode4 = nodearraylist4
+                                       assert tkwnotnode4 isa nullable TKwnot
+                                       var tkwnullablenode5 = nodearraylist6
+                                       assert tkwnullablenode5 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnotnode4,
+                                               tkwnullablenode5
+                                       )
+                                       node_list = pexterncallnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7285,10 +8038,8 @@ private class ReduceAction194
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction195
+private class ReduceAction228
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7308,10 +8059,8 @@ private class ReduceAction195
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction196
+private class ReduceAction229
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7336,10 +8085,8 @@ private class ReduceAction196
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction197
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7367,10 +8114,8 @@ private class ReduceAction197
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction198
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7384,10 +8129,8 @@ private class ReduceAction198
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction199
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7405,10 +8148,8 @@ private class ReduceAction199
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction200
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7420,25 +8161,20 @@ private class ReduceAction200
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction202
+private class ReduceAction235
        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 = nodearraylist2
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction203
+private class ReduceAction236
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7446,32 +8182,34 @@ private class ReduceAction203
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
+                                       var tkwendnode3 = nodearraylist2
+                                       assert tkwendnode3 isa nullable TKwend
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode2
+                                               listnode2,
+                                               tkwendnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction204
+private class ReduceAction237
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
+                                       var tkwendnode3 = nodearraylist1
+                                       assert tkwendnode3 isa nullable TKwend
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode2
+                                               listnode2,
+                                               tkwendnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction205
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7481,14 +8219,57 @@ private class ReduceAction205
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction206
+private class ReduceAction239
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode3 = new Array[Object]
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       if pexprnode2 != null then
+                                               listnode3.add(pexprnode2)
+                                       end
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode3,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction240
+       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 ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode4,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction241
        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 pexprnode2 = nodearraylist1
@@ -7497,19 +8278,19 @@ private class ReduceAction206
                                                listnode3.add(pexprnode2)
                                        end
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode3
+                                               listnode3,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction207
+private class ReduceAction242
        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 listnode4 = new Array[Object]
@@ -7522,19 +8303,19 @@ private class ReduceAction207
                                        end
                                        listnode4 = concat(listnode4, listnode3)
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode4
+                                               listnode4,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction208
+private class ReduceAction243
        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 listnode3 = new Array[Object]
@@ -7543,20 +8324,22 @@ private class ReduceAction208
                                        if pexprnode2 != null then
                                                listnode3.add(pexprnode2)
                                        end
+                                       var tkwendnode4 = nodearraylist3
+                                       assert tkwendnode4 isa nullable TKwend
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode3
+                                               listnode3,
+                                               tkwendnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction209
+private class ReduceAction244
        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
@@ -7569,30 +8352,17 @@ private class ReduceAction209
                                                listnode4.add(pexprnode2)
                                        end
                                        listnode4 = concat(listnode4, listnode3)
+                                       var tkwendnode5 = nodearraylist4
+                                       assert tkwendnode5 isa nullable TKwend
                                        var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode4
+                                               listnode4,
+                                               tkwendnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction210
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pexprnode1 = nodearraylist2
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction213
+private class ReduceAction248
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7607,10 +8377,8 @@ private class ReduceAction213
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction214
+private class ReduceAction249
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7628,10 +8396,8 @@ private class ReduceAction214
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction215
+private class ReduceAction250
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7647,10 +8413,8 @@ private class ReduceAction215
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction216
+private class ReduceAction251
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7669,10 +8433,8 @@ private class ReduceAction216
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction217
+private class ReduceAction252
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7691,10 +8453,8 @@ private class ReduceAction217
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction218
+private class ReduceAction253
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7716,10 +8476,8 @@ private class ReduceAction218
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction219
+private class ReduceAction254
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7733,10 +8491,8 @@ private class ReduceAction219
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction220
+private class ReduceAction255
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7752,10 +8508,8 @@ private class ReduceAction220
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction221
+private class ReduceAction256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7774,10 +8528,8 @@ private class ReduceAction221
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction222
+private class ReduceAction257
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7796,10 +8548,8 @@ private class ReduceAction222
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction223
+private class ReduceAction258
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7821,10 +8571,8 @@ private class ReduceAction223
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction230
+private class ReduceAction265
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7852,10 +8600,8 @@ private class ReduceAction230
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction231
+private class ReduceAction266
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7880,10 +8626,8 @@ private class ReduceAction231
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction232
+private class ReduceAction267
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7915,10 +8659,8 @@ private class ReduceAction232
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction233
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7947,10 +8689,8 @@ private class ReduceAction233
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction234
+private class ReduceAction269
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7971,10 +8711,8 @@ private class ReduceAction234
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction235
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7998,10 +8736,8 @@ private class ReduceAction235
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction236
+private class ReduceAction271
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8027,10 +8763,8 @@ private class ReduceAction236
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction237
+private class ReduceAction272
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8053,10 +8787,8 @@ private class ReduceAction237
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction238
+private class ReduceAction273
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8074,10 +8806,8 @@ private class ReduceAction238
                                        node_list = plabelnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction239
+private class ReduceAction274
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8091,10 +8821,8 @@ private class ReduceAction239
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction240
+private class ReduceAction275
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8112,10 +8840,8 @@ private class ReduceAction240
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction241
+private class ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8147,10 +8873,47 @@ private class ReduceAction241
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction242
+private class ReduceAction277
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist8
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8186,10 +8949,8 @@ private class ReduceAction242
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction243
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8218,10 +8979,44 @@ private class ReduceAction243
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction244
+private class ReduceAction280
+       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 listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8254,10 +9049,8 @@ private class ReduceAction244
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction245
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8285,10 +9078,43 @@ private class ReduceAction245
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction246
+private class ReduceAction283
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               null,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8320,10 +9146,8 @@ private class ReduceAction246
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction247
+private class ReduceAction285
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8353,10 +9177,45 @@ private class ReduceAction247
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction248
+private class ReduceAction286
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8390,10 +9249,8 @@ private class ReduceAction248
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction249
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8420,10 +9277,42 @@ private class ReduceAction249
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction250
+private class ReduceAction289
+       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 listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               null,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction290
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8454,10 +9343,8 @@ private class ReduceAction250
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction251
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8471,10 +9358,8 @@ private class ReduceAction251
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction252
+private class ReduceAction292
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8488,10 +9373,8 @@ private class ReduceAction252
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction253
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8507,10 +9390,8 @@ private class ReduceAction253
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction254
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8531,10 +9412,8 @@ private class ReduceAction254
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction255
+private class ReduceAction295
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8558,10 +9437,8 @@ private class ReduceAction255
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction256
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8589,10 +9466,8 @@ private class ReduceAction256
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction257
+private class ReduceAction297
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8623,10 +9498,8 @@ private class ReduceAction257
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction258
+private class ReduceAction298
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8654,10 +9527,8 @@ private class ReduceAction258
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction259
+private class ReduceAction299
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8682,10 +9553,8 @@ private class ReduceAction259
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction260
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8719,10 +9588,8 @@ private class ReduceAction260
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction261
+private class ReduceAction301
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8753,10 +9620,8 @@ private class ReduceAction261
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction262
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8784,10 +9649,8 @@ private class ReduceAction262
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction263
+private class ReduceAction303
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8815,10 +9678,8 @@ private class ReduceAction263
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction264
+private class ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8843,10 +9704,8 @@ private class ReduceAction264
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction265
+private class ReduceAction305
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8880,10 +9739,8 @@ private class ReduceAction265
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction266
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8914,10 +9771,8 @@ private class ReduceAction266
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction267
+private class ReduceAction307
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8945,10 +9800,8 @@ private class ReduceAction267
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction268
+private class ReduceAction308
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8962,10 +9815,8 @@ private class ReduceAction268
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction269
+private class ReduceAction309
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8979,10 +9830,8 @@ private class ReduceAction269
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction270
+private class ReduceAction310
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9004,10 +9853,8 @@ private class ReduceAction270
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction271
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9026,10 +9873,8 @@ private class ReduceAction271
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction272
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9059,10 +9904,8 @@ private class ReduceAction272
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction273
+private class ReduceAction313
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9088,10 +9931,8 @@ private class ReduceAction273
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction274
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9121,10 +9962,8 @@ private class ReduceAction274
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction275
+private class ReduceAction315
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9150,10 +9989,8 @@ private class ReduceAction275
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction276
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9180,10 +10017,8 @@ private class ReduceAction276
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction279
+private class ReduceAction319
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9205,10 +10040,8 @@ private class ReduceAction279
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction280
+private class ReduceAction320
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9227,10 +10060,8 @@ private class ReduceAction280
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction281
+private class ReduceAction321
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9262,10 +10093,8 @@ private class ReduceAction281
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction282
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9284,24 +10113,109 @@ private class ReduceAction282
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
                                        assert pexprnode5 isa nullable AExpr
-                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
-                                               tkwwhilenode2,
-                                               pexprnode3,
-                                               tkwdonode4,
+                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
+                                               tkwwhilenode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction323
+       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 listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist13
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction324
+       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 listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist11
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
                                                pexprnode5,
-                                               null
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction283
+private class ReduceAction325
        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
@@ -9313,33 +10227,31 @@ private class ReduceAction283
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
-                                       var plabelnode7 = nodearraylist11
-                                       assert plabelnode7 isa nullable ALabel
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               plabelnode7
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction284
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9354,31 +10266,31 @@ private class ReduceAction284
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction285
+private class ReduceAction327
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9402,10 +10314,8 @@ private class ReduceAction285
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction286
+private class ReduceAction328
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9432,10 +10342,8 @@ private class ReduceAction286
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction287
+private class ReduceAction329
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9455,10 +10363,8 @@ private class ReduceAction287
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction288
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9481,10 +10387,8 @@ private class ReduceAction288
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction289
+private class ReduceAction331
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9495,10 +10399,8 @@ private class ReduceAction289
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction293
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9524,10 +10426,8 @@ private class ReduceAction293
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction295
+private class ReduceAction337
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9566,10 +10466,8 @@ private class ReduceAction295
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction297
+private class ReduceAction339
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9589,10 +10487,8 @@ private class ReduceAction297
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction298
+private class ReduceAction340
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9612,10 +10508,8 @@ private class ReduceAction298
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction299
+private class ReduceAction341
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9636,10 +10530,8 @@ private class ReduceAction299
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction301
+private class ReduceAction343
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9658,10 +10550,8 @@ private class ReduceAction301
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction303
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9681,10 +10571,8 @@ private class ReduceAction303
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction304
+private class ReduceAction346
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9704,10 +10592,8 @@ private class ReduceAction304
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction305
+private class ReduceAction347
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9727,10 +10613,8 @@ private class ReduceAction305
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction306
+private class ReduceAction348
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9750,10 +10634,8 @@ private class ReduceAction306
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction307
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9773,10 +10655,8 @@ private class ReduceAction307
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction308
+private class ReduceAction350
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9796,10 +10676,8 @@ private class ReduceAction308
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction309
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9819,10 +10697,8 @@ private class ReduceAction309
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction310
+private class ReduceAction352
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9842,10 +10718,8 @@ private class ReduceAction310
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction311
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9865,10 +10739,8 @@ private class ReduceAction311
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction312
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9888,10 +10760,8 @@ private class ReduceAction312
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction313
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9911,10 +10781,8 @@ private class ReduceAction313
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction315
+private class ReduceAction357
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9934,10 +10802,8 @@ private class ReduceAction315
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction316
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9957,10 +10823,8 @@ private class ReduceAction316
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction318
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9980,10 +10844,8 @@ private class ReduceAction318
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction319
+private class ReduceAction361
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10003,10 +10865,8 @@ private class ReduceAction319
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction320
+private class ReduceAction362
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10026,10 +10886,8 @@ private class ReduceAction320
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction322
+private class ReduceAction364
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10048,10 +10906,8 @@ private class ReduceAction322
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction323
+private class ReduceAction365
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10070,10 +10926,8 @@ private class ReduceAction323
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction325
+private class ReduceAction367
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10099,10 +10953,8 @@ private class ReduceAction325
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction326
+private class ReduceAction368
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10126,10 +10978,8 @@ private class ReduceAction326
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction327
+private class ReduceAction369
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10150,10 +11000,8 @@ private class ReduceAction327
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction328
+private class ReduceAction370
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10173,10 +11021,8 @@ private class ReduceAction328
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction329
+private class ReduceAction371
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10193,10 +11039,8 @@ private class ReduceAction329
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction336
+private class ReduceAction378
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10218,10 +11062,8 @@ private class ReduceAction336
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction337
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10252,10 +11094,8 @@ private class ReduceAction337
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction338
+private class ReduceAction380
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10280,10 +11120,8 @@ private class ReduceAction338
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction339
+private class ReduceAction381
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10308,10 +11146,8 @@ private class ReduceAction339
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction340
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10327,10 +11163,8 @@ private class ReduceAction340
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction341
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10344,10 +11178,8 @@ private class ReduceAction341
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction342
+private class ReduceAction384
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10361,10 +11193,8 @@ private class ReduceAction342
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction343
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10378,10 +11208,8 @@ private class ReduceAction343
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction344
+private class ReduceAction386
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10395,10 +11223,8 @@ private class ReduceAction344
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction345
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10412,10 +11238,8 @@ private class ReduceAction345
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction346
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10429,10 +11253,8 @@ private class ReduceAction346
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction347
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10446,10 +11268,8 @@ private class ReduceAction347
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction348
+private class ReduceAction390
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10463,10 +11283,21 @@ private class ReduceAction348
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction351
+private class ReduceAction392
+       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 = nodearraylist2
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction393
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10495,10 +11326,8 @@ private class ReduceAction351
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction352
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10532,10 +11361,8 @@ private class ReduceAction352
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction353
+private class ReduceAction395
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10557,10 +11384,8 @@ private class ReduceAction353
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction354
+private class ReduceAction396
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10586,10 +11411,8 @@ private class ReduceAction354
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction355
+private class ReduceAction397
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10610,10 +11433,8 @@ private class ReduceAction355
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction356
+private class ReduceAction398
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10627,10 +11448,8 @@ private class ReduceAction356
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction358
+private class ReduceAction400
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10644,10 +11463,8 @@ private class ReduceAction358
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction359
+private class ReduceAction401
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10661,10 +11478,8 @@ private class ReduceAction359
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction360
+private class ReduceAction402
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10682,10 +11497,8 @@ private class ReduceAction360
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction361
+private class ReduceAction403
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10707,10 +11520,8 @@ private class ReduceAction361
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction363
+private class ReduceAction405
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10719,10 +11530,8 @@ private class ReduceAction363
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction366
+private class ReduceAction408
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10736,10 +11545,8 @@ private class ReduceAction366
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction371
+private class ReduceAction413
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10752,85 +11559,133 @@ private class ReduceAction371
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction372
+private class ReduceAction414
        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 listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist2
-                                       assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
+                                       var tidnode1 = nodearraylist1
+                                       if tidnode1 != null then
+                                               listnode2.add(tidnode1)
+                                       end
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction373
+private class ReduceAction415
        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 listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
+                                       var tidnode2 = nodearraylist5
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if tidnode2 != null then
+                                               listnode3.add(tidnode2)
+                                       end
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction374
+private class ReduceAction416
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var tidnode1 = nodearraylist1
-                                       if tidnode1 != null then
-                                               listnode2.add(tidnode1)
-                                       end
-                                       node_list = listnode2
+                                       var listnode3 = new Array[Object]
+                                       var tidnode4 = nodearraylist1
+                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               null,
+                                               listnode3,
+                                               tidnode4
+                                       )
+                                       node_list = pmodulenamenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction375
+private class ReduceAction417
+       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 listnode3 = nodearraylist1
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               null,
+                                               listnode4,
+                                               tidnode5
+                                       )
+                                       node_list = pmodulenamenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction418
        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 listnode3 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       var tidnode2 = nodearraylist5
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if tidnode2 != null then
-                                               listnode3.add(tidnode2)
-                                       end
-                                       node_list = listnode3
+                                       var tquadnode2 = nodearraylist1
+                                       assert tquadnode2 isa nullable TQuad
+                                       var tidnode4 = nodearraylist3
+                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               tquadnode2,
+                                               listnode3,
+                                               tidnode4
+                                       )
+                                       node_list = pmodulenamenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction419
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tquadnode2 = nodearraylist1
+                                       assert tquadnode2 isa nullable TQuad
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               tquadnode2,
+                                               listnode4,
+                                               tidnode5
+                                       )
+                                       node_list = pmodulenamenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction376
+private class ReduceAction420
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10846,10 +11701,8 @@ private class ReduceAction376
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction377
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10869,10 +11722,8 @@ private class ReduceAction377
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction378
+private class ReduceAction422
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10889,10 +11740,8 @@ private class ReduceAction378
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction379
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10904,10 +11753,8 @@ private class ReduceAction379
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction380
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10919,10 +11766,8 @@ private class ReduceAction380
                                        node_list = tclassidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction381
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10930,10 +11775,8 @@ private class ReduceAction381
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction383
+private class ReduceAction427
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10949,10 +11792,8 @@ private class ReduceAction383
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction384
+private class ReduceAction428
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10969,10 +11810,8 @@ private class ReduceAction384
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction386
+private class ReduceAction430
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10980,10 +11819,8 @@ private class ReduceAction386
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction387
+private class ReduceAction431
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10993,10 +11830,8 @@ private class ReduceAction387
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction388
+private class ReduceAction432
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11005,10 +11840,8 @@ private class ReduceAction388
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction389
+private class ReduceAction433
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11018,10 +11851,8 @@ private class ReduceAction389
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction637
+private class ReduceAction690
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11043,10 +11874,8 @@ private class ReduceAction637
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction638
+private class ReduceAction691
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11064,10 +11893,8 @@ private class ReduceAction638
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction639
+private class ReduceAction692
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11093,10 +11920,8 @@ private class ReduceAction639
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction642
+private class ReduceAction695
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11120,10 +11945,8 @@ private class ReduceAction642
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction655
+private class ReduceAction708
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11135,10 +11958,8 @@ private class ReduceAction655
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction656
+private class ReduceAction709
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11148,10 +11969,8 @@ private class ReduceAction656
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction663
+private class ReduceAction716
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11165,10 +11984,8 @@ private class ReduceAction663
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction664
+private class ReduceAction717
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11186,10 +12003,8 @@ private class ReduceAction664
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction665
+private class ReduceAction718
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11203,10 +12018,8 @@ private class ReduceAction665
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction666
+private class ReduceAction719
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11224,10 +12037,8 @@ private class ReduceAction666
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction667
+private class ReduceAction720
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11241,10 +12052,8 @@ private class ReduceAction667
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction668
+private class ReduceAction721
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11262,10 +12071,8 @@ private class ReduceAction668
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction669
+private class ReduceAction722
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11279,10 +12086,8 @@ private class ReduceAction669
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction670
+private class ReduceAction723
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11300,10 +12105,8 @@ private class ReduceAction670
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction673
+private class ReduceAction726
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11317,10 +12120,8 @@ private class ReduceAction673
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction674
+private class ReduceAction727
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11338,10 +12139,8 @@ private class ReduceAction674
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction675
+private class ReduceAction728
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11355,10 +12154,8 @@ private class ReduceAction675
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction676
+private class ReduceAction729
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11376,10 +12173,8 @@ private class ReduceAction676
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction677
+private class ReduceAction730
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11393,10 +12188,8 @@ private class ReduceAction677
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction678
+private class ReduceAction731
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11414,10 +12207,42 @@ private class ReduceAction678
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction680
+private class ReduceAction732
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var pexterncallnode1 = nodearraylist1
+                                       if pexterncallnode1 != null then
+                                               listnode2.add(pexterncallnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction733
+       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 pexterncallnode2 = nodearraylist2
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if pexterncallnode2 != null then
+                                               listnode3.add(pexterncallnode2)
+                                       end
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction735
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11435,10 +12260,8 @@ private class ReduceAction680
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction682
+private class ReduceAction737
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11456,10 +12279,22 @@ private class ReduceAction682
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction684
+private class ReduceAction738
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       listnode2 = concat(listnode2, listnode1)
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction739
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11476,10 +12311,8 @@ private class ReduceAction684
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction688
+private class ReduceAction743
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11497,10 +12330,8 @@ private class ReduceAction688
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction689
+private class ReduceAction744
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11514,10 +12345,8 @@ private class ReduceAction689
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction690
+private class ReduceAction745
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11535,10 +12364,8 @@ private class ReduceAction690
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction691
+private class ReduceAction746
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11552,10 +12379,8 @@ private class ReduceAction691
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction692
+private class ReduceAction747
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11573,6 +12398,4 @@ private class ReduceAction692
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end