model: new metamodel
[nit.git] / src / parser / parser.nit
index 35be967..11222e5 100644 (file)
@@ -3,6 +3,7 @@
 package parser
 
 intrude import parser_prod
+import tables
 
 # State of the parser automata as stored in the parser stack.
 private class State
@@ -139,7 +140,7 @@ 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
@@ -346,556 +347,566 @@ class Parser
                        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 ReduceAction196(18),
+                       new ReduceAction197(18),
+                       new ReduceAction198(18),
+                       new ReduceAction199(18),
+                       new ReduceAction200(19),
+                       new ReduceAction201(19),
+                       new ReduceAction202(19),
+                       new ReduceAction203(19),
+                       new ReduceAction204(19),
+                       new ReduceAction205(19),
+                       new ReduceAction206(20),
+                       new ReduceAction207(20),
+                       new ReduceAction208(21),
+                       new ReduceAction209(22),
+                       new ReduceAction210(22),
+                       new ReduceAction211(22),
+                       new ReduceAction212(23),
                        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 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(38),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction246(39),
-                       new ReduceAction247(39),
-                       new ReduceAction248(39),
-                       new ReduceAction249(39),
-                       new ReduceAction250(39),
-                       new ReduceAction251(39),
-                       new ReduceAction252(39),
-                       new ReduceAction253(39),
-                       new ReduceAction254(39),
-                       new ReduceAction255(39),
-                       new ReduceAction256(39),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction238(39),
-                       new ReduceAction263(39),
-                       new ReduceAction264(39),
-                       new ReduceAction265(39),
-                       new ReduceAction266(39),
-                       new ReduceAction267(39),
-                       new ReduceAction268(39),
-                       new ReduceAction269(39),
-                       new ReduceAction270(39),
+                       new ReduceAction214(24),
+                       new ReduceAction215(24),
+                       new ReduceAction216(24),
+                       new ReduceAction217(24),
+                       new ReduceAction218(24),
+                       new ReduceAction219(25),
+                       new ReduceAction220(26),
+                       new ReduceAction221(26),
+                       new ReduceAction222(27),
+                       new ReduceAction223(28),
+                       new ReduceAction223(28),
+                       new ReduceAction225(28),
+                       new ReduceAction226(29),
+                       new ReduceAction227(29),
+                       new ReduceAction228(29),
+                       new ReduceAction229(30),
+                       new ReduceAction230(30),
+                       new ReduceAction231(30),
+                       new ReduceAction232(31),
+                       new ReduceAction233(31),
+                       new ReduceAction234(31),
+                       new ReduceAction235(31),
+                       new ReduceAction236(32),
+                       new ReduceAction237(32),
+                       new ReduceAction238(33),
+                       new ReduceAction238(34),
+                       new ReduceAction240(35),
+                       new ReduceAction241(35),
+                       new ReduceAction242(35),
+                       new ReduceAction243(35),
+                       new ReduceAction244(36),
+                       new ReduceAction245(36),
+                       new ReduceAction246(37),
+                       new ReduceAction247(37),
+                       new ReduceAction248(38),
+                       new ReduceAction249(38),
+                       new ReduceAction240(39),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction253(40),
+                       new ReduceAction254(40),
+                       new ReduceAction255(40),
+                       new ReduceAction256(40),
+                       new ReduceAction257(40),
+                       new ReduceAction258(40),
+                       new ReduceAction259(40),
+                       new ReduceAction260(40),
+                       new ReduceAction261(40),
+                       new ReduceAction262(40),
+                       new ReduceAction263(40),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction243(40),
+                       new ReduceAction270(40),
                        new ReduceAction271(40),
-                       new ReduceAction272(41),
-                       new ReduceAction273(41),
-                       new ReduceAction274(42),
-                       new ReduceAction275(42),
-                       new ReduceAction276(42),
-                       new ReduceAction277(42),
-                       new ReduceAction278(42),
-                       new ReduceAction279(42),
+                       new ReduceAction272(40),
+                       new ReduceAction273(40),
+                       new ReduceAction274(40),
+                       new ReduceAction275(40),
+                       new ReduceAction276(40),
+                       new ReduceAction277(40),
+                       new ReduceAction278(40),
+                       new ReduceAction279(41),
                        new ReduceAction280(42),
                        new ReduceAction281(42),
-                       new ReduceAction282(42),
+                       new ReduceAction282(43),
                        new ReduceAction283(43),
                        new ReduceAction284(43),
                        new ReduceAction285(43),
                        new ReduceAction286(43),
                        new ReduceAction287(43),
                        new ReduceAction288(43),
-                       new ReduceAction289(44),
-                       new ReduceAction290(44),
-                       new ReduceAction291(45),
-                       new ReduceAction292(46),
-                       new ReduceAction293(46),
-                       new ReduceAction294(46),
-                       new ReduceAction295(46),
-                       new ReduceAction296(47),
-                       new ReduceAction297(47),
-                       new ReduceAction298(47),
-                       new ReduceAction299(47),
+                       new ReduceAction289(43),
+                       new ReduceAction290(43),
+                       new ReduceAction291(44),
+                       new ReduceAction292(44),
+                       new ReduceAction293(44),
+                       new ReduceAction294(44),
+                       new ReduceAction295(44),
+                       new ReduceAction296(44),
+                       new ReduceAction297(45),
+                       new ReduceAction298(45),
+                       new ReduceAction299(46),
                        new ReduceAction300(47),
                        new ReduceAction301(47),
                        new ReduceAction302(47),
                        new ReduceAction303(47),
-                       new ReduceAction304(47),
-                       new ReduceAction305(47),
+                       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(50),
-                       new ReduceAction313(50),
-                       new ReduceAction314(50),
-                       new ReduceAction243(51),
-                       new ReduceAction36(51),
-                       new ReduceAction317(52),
-                       new ReduceAction318(52),
-                       new ReduceAction319(53),
-                       new ReduceAction320(53),
-                       new ReduceAction321(54),
-                       new ReduceAction322(54),
-                       new ReduceAction323(54),
-                       new ReduceAction324(54),
-                       new ReduceAction325(55),
-                       new ReduceAction326(55),
-                       new ReduceAction327(55),
-                       new ReduceAction328(55),
-                       new ReduceAction329(56),
-                       new ReduceAction238(57),
-                       new ReduceAction265(57),
-                       new ReduceAction266(57),
-                       new ReduceAction333(57),
-                       new ReduceAction238(58),
-                       new ReduceAction335(58),
-                       new ReduceAction238(59),
-                       new ReduceAction337(59),
-                       new ReduceAction338(59),
-                       new ReduceAction339(59),
-                       new ReduceAction238(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 ReduceAction308(48),
+                       new ReduceAction309(48),
+                       new ReduceAction310(48),
+                       new ReduceAction311(48),
+                       new ReduceAction312(48),
+                       new ReduceAction313(48),
+                       new ReduceAction314(49),
+                       new ReduceAction315(49),
+                       new ReduceAction316(50),
+                       new ReduceAction317(50),
+                       new ReduceAction318(51),
+                       new ReduceAction319(51),
+                       new ReduceAction320(51),
+                       new ReduceAction321(51),
+                       new ReduceAction322(51),
+                       new ReduceAction240(52),
+                       new ReduceAction242(52),
+                       new ReduceAction325(53),
+                       new ReduceAction326(53),
+                       new ReduceAction327(54),
+                       new ReduceAction328(54),
+                       new ReduceAction329(55),
+                       new ReduceAction330(55),
+                       new ReduceAction331(55),
+                       new ReduceAction332(55),
+                       new ReduceAction333(56),
+                       new ReduceAction334(56),
+                       new ReduceAction335(56),
+                       new ReduceAction336(56),
+                       new ReduceAction337(57),
+                       new ReduceAction243(58),
+                       new ReduceAction272(58),
+                       new ReduceAction273(58),
+                       new ReduceAction341(58),
+                       new ReduceAction243(59),
+                       new ReduceAction343(59),
+                       new ReduceAction243(60),
+                       new ReduceAction345(60),
+                       new ReduceAction346(60),
+                       new ReduceAction347(60),
+                       new ReduceAction243(61),
                        new ReduceAction349(61),
-                       new ReduceAction350(61),
-                       new ReduceAction351(61),
-                       new ReduceAction352(61),
-                       new ReduceAction353(61),
-                       new ReduceAction238(62),
+                       new ReduceAction243(62),
+                       new ReduceAction351(62),
+                       new ReduceAction352(62),
+                       new ReduceAction353(62),
+                       new ReduceAction354(62),
                        new ReduceAction355(62),
                        new ReduceAction356(62),
-                       new ReduceAction238(63),
-                       new ReduceAction358(63),
-                       new ReduceAction359(63),
-                       new ReduceAction360(63),
-                       new ReduceAction238(64),
-                       new ReduceAction362(64),
-                       new ReduceAction363(64),
-                       new ReduceAction238(65),
-                       new ReduceAction365(65),
-                       new ReduceAction366(65),
-                       new ReduceAction367(65),
-                       new ReduceAction368(66),
-                       new ReduceAction369(66),
-                       new ReduceAction263(66),
-                       new ReduceAction264(66),
-                       new ReduceAction267(66),
-                       new ReduceAction268(66),
-                       new ReduceAction269(66),
-                       new ReduceAction270(66),
-                       new ReduceAction376(66),
-                       new ReduceAction377(66),
-                       new ReduceAction378(66),
-                       new ReduceAction379(66),
-                       new ReduceAction380(66),
-                       new ReduceAction381(66),
-                       new ReduceAction382(66),
-                       new ReduceAction383(66),
-                       new ReduceAction384(66),
-                       new ReduceAction385(66),
-                       new ReduceAction386(66),
-                       new ReduceAction387(66),
-                       new ReduceAction388(66),
-                       new ReduceAction238(66),
-                       new ReduceAction235(66),
-                       new ReduceAction391(66),
-                       new ReduceAction392(66),
+                       new ReduceAction357(62),
+                       new ReduceAction358(62),
+                       new ReduceAction359(62),
+                       new ReduceAction360(62),
+                       new ReduceAction361(62),
+                       new ReduceAction243(63),
+                       new ReduceAction363(63),
+                       new ReduceAction364(63),
+                       new ReduceAction243(64),
+                       new ReduceAction366(64),
+                       new ReduceAction367(64),
+                       new ReduceAction368(64),
+                       new ReduceAction243(65),
+                       new ReduceAction370(65),
+                       new ReduceAction371(65),
+                       new ReduceAction243(66),
+                       new ReduceAction373(66),
+                       new ReduceAction374(66),
+                       new ReduceAction375(66),
+                       new ReduceAction376(67),
+                       new ReduceAction377(67),
+                       new ReduceAction270(67),
+                       new ReduceAction271(67),
+                       new ReduceAction274(67),
+                       new ReduceAction275(67),
+                       new ReduceAction276(67),
+                       new ReduceAction277(67),
+                       new ReduceAction384(67),
+                       new ReduceAction385(67),
+                       new ReduceAction386(67),
+                       new ReduceAction387(67),
+                       new ReduceAction388(67),
+                       new ReduceAction389(67),
+                       new ReduceAction390(67),
+                       new ReduceAction391(67),
+                       new ReduceAction392(67),
                        new ReduceAction393(67),
                        new ReduceAction394(67),
-                       new ReduceAction395(68),
-                       new ReduceAction396(69),
-                       new ReduceAction395(70),
-                       new ReduceAction398(71),
-                       new ReduceAction399(72),
-                       new ReduceAction400(73),
-                       new ReduceAction401(73),
-                       new ReduceAction202(73),
-                       new ReduceAction403(73),
-                       new ReduceAction400(74),
-                       new ReduceAction401(74),
-                       new ReduceAction406(74),
-                       new ReduceAction202(74),
-                       new ReduceAction403(74),
-                       new ReduceAction400(75),
-                       new ReduceAction401(75),
-                       new ReduceAction411(76),
-                       new ReduceAction412(77),
-                       new ReduceAction413(77),
-                       new ReduceAction414(78),
-                       new ReduceAction415(78),
-                       new ReduceAction416(78),
-                       new ReduceAction417(78),
-                       new ReduceAction418(79),
+                       new ReduceAction395(67),
+                       new ReduceAction396(67),
+                       new ReduceAction243(67),
+                       new ReduceAction398(67),
+                       new ReduceAction399(67),
+                       new ReduceAction400(67),
+                       new ReduceAction401(68),
+                       new ReduceAction402(68),
+                       new ReduceAction403(69),
+                       new ReduceAction404(70),
+                       new ReduceAction403(71),
+                       new ReduceAction406(72),
+                       new ReduceAction407(73),
+                       new ReduceAction408(74),
+                       new ReduceAction409(74),
+                       new ReduceAction410(74),
+                       new ReduceAction408(75),
+                       new ReduceAction412(75),
+                       new ReduceAction409(75),
+                       new ReduceAction410(75),
+                       new ReduceAction415(76),
+                       new ReduceAction416(77),
+                       new ReduceAction417(77),
+                       new ReduceAction418(78),
                        new ReduceAction419(79),
                        new ReduceAction420(79),
                        new ReduceAction421(80),
-                       new ReduceAction422(81),
-                       new ReduceAction423(82),
-                       new ReduceAction423(82),
-                       new ReduceAction425(83),
-                       new ReduceAction426(83),
-                       new ReduceAction36(83),
-                       new ReduceAction428(84),
-                       new ReduceAction429(84),
-                       new ReduceAction430(85),
-                       new ReduceAction431(85),
-                       new ReduceAction423(85),
-                       new ReduceAction67(86),
-                       new ReduceAction68(87),
-                       new ReduceAction69(87),
-                       new ReduceAction70(87),
-                       new ReduceAction71(87),
-                       new ReduceAction72(87),
-                       new ReduceAction73(87),
-                       new ReduceAction78(87),
-                       new ReduceAction79(87),
-                       new ReduceAction80(87),
-                       new ReduceAction81(87),
-                       new ReduceAction82(87),
-                       new ReduceAction83(87),
-                       new ReduceAction84(87),
-                       new ReduceAction85(87),
-                       new ReduceAction188(88),
-                       new ReduceAction189(88),
-                       new ReduceAction190(88),
-                       new ReduceAction191(88),
-                       new ReduceAction227(89),
-                       new ReduceAction228(89),
-                       new ReduceAction238(90),
-                       new ReduceAction265(90),
-                       new ReduceAction266(90),
-                       new ReduceAction238(91),
-                       new ReduceAction335(91),
-                       new ReduceAction238(92),
-                       new ReduceAction337(92),
-                       new ReduceAction338(92),
-                       new ReduceAction339(92),
-                       new ReduceAction238(93),
-                       new ReduceAction341(93),
-                       new ReduceAction238(94),
-                       new ReduceAction343(94),
-                       new ReduceAction344(94),
+                       new ReduceAction422(80),
+                       new ReduceAction423(80),
+                       new ReduceAction424(80),
+                       new ReduceAction425(81),
+                       new ReduceAction426(81),
+                       new ReduceAction427(81),
+                       new ReduceAction428(82),
+                       new ReduceAction429(83),
+                       new ReduceAction430(84),
+                       new ReduceAction430(84),
+                       new ReduceAction432(85),
+                       new ReduceAction433(85),
+                       new ReduceAction36(85),
+                       new ReduceAction435(86),
+                       new ReduceAction436(86),
+                       new ReduceAction437(87),
+                       new ReduceAction438(87),
+                       new ReduceAction430(87),
+                       new ReduceAction67(88),
+                       new ReduceAction68(89),
+                       new ReduceAction69(89),
+                       new ReduceAction70(89),
+                       new ReduceAction71(89),
+                       new ReduceAction72(89),
+                       new ReduceAction73(89),
+                       new ReduceAction78(89),
+                       new ReduceAction79(89),
+                       new ReduceAction80(89),
+                       new ReduceAction81(89),
+                       new ReduceAction82(89),
+                       new ReduceAction83(89),
+                       new ReduceAction84(89),
+                       new ReduceAction85(89),
+                       new ReduceAction188(90),
+                       new ReduceAction189(90),
+                       new ReduceAction190(90),
+                       new ReduceAction191(90),
+                       new ReduceAction196(90),
+                       new ReduceAction197(90),
+                       new ReduceAction232(91),
+                       new ReduceAction233(91),
+                       new ReduceAction243(92),
+                       new ReduceAction272(92),
+                       new ReduceAction273(92),
+                       new ReduceAction243(93),
+                       new ReduceAction343(93),
+                       new ReduceAction243(94),
                        new ReduceAction345(94),
                        new ReduceAction346(94),
                        new ReduceAction347(94),
-                       new ReduceAction348(94),
-                       new ReduceAction349(94),
-                       new ReduceAction350(94),
-                       new ReduceAction351(94),
-                       new ReduceAction352(94),
-                       new ReduceAction353(94),
-                       new ReduceAction238(95),
-                       new ReduceAction355(95),
-                       new ReduceAction356(95),
-                       new ReduceAction238(96),
+                       new ReduceAction243(95),
+                       new ReduceAction349(95),
+                       new ReduceAction243(96),
+                       new ReduceAction351(96),
+                       new ReduceAction352(96),
+                       new ReduceAction353(96),
+                       new ReduceAction354(96),
+                       new ReduceAction355(96),
+                       new ReduceAction356(96),
+                       new ReduceAction357(96),
                        new ReduceAction358(96),
                        new ReduceAction359(96),
                        new ReduceAction360(96),
-                       new ReduceAction238(97),
-                       new ReduceAction362(97),
+                       new ReduceAction361(96),
+                       new ReduceAction243(97),
                        new ReduceAction363(97),
-                       new ReduceAction238(98),
-                       new ReduceAction365(98),
+                       new ReduceAction364(97),
+                       new ReduceAction243(98),
                        new ReduceAction366(98),
                        new ReduceAction367(98),
-                       new ReduceAction368(99),
-                       new ReduceAction369(99),
-                       new ReduceAction263(99),
-                       new ReduceAction264(99),
-                       new ReduceAction267(99),
-                       new ReduceAction268(99),
-                       new ReduceAction269(99),
-                       new ReduceAction270(99),
-                       new ReduceAction377(99),
-                       new ReduceAction381(99),
-                       new ReduceAction382(99),
-                       new ReduceAction383(99),
-                       new ReduceAction384(99),
-                       new ReduceAction385(99),
-                       new ReduceAction386(99),
-                       new ReduceAction387(99),
-                       new ReduceAction388(99),
-                       new ReduceAction238(99),
-                       new ReduceAction235(99),
-                       new ReduceAction391(99),
-                       new ReduceAction392(99),
-                       new ReduceAction235(100),
-                       new ReduceAction236(100),
-                       new ReduceAction237(100),
-                       new ReduceAction238(100),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction246(101),
-                       new ReduceAction247(101),
-                       new ReduceAction248(101),
-                       new ReduceAction249(101),
-                       new ReduceAction250(101),
-                       new ReduceAction251(101),
-                       new ReduceAction252(101),
-                       new ReduceAction253(101),
-                       new ReduceAction254(101),
-                       new ReduceAction255(101),
-                       new ReduceAction256(101),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction238(101),
-                       new ReduceAction263(101),
-                       new ReduceAction264(101),
-                       new ReduceAction265(101),
-                       new ReduceAction266(101),
-                       new ReduceAction267(101),
-                       new ReduceAction268(101),
-                       new ReduceAction269(101),
+                       new ReduceAction368(98),
+                       new ReduceAction243(99),
+                       new ReduceAction370(99),
+                       new ReduceAction371(99),
+                       new ReduceAction243(100),
+                       new ReduceAction373(100),
+                       new ReduceAction374(100),
+                       new ReduceAction375(100),
+                       new ReduceAction376(101),
+                       new ReduceAction377(101),
                        new ReduceAction270(101),
-                       new ReduceAction272(102),
-                       new ReduceAction273(102),
+                       new ReduceAction271(101),
+                       new ReduceAction274(101),
+                       new ReduceAction275(101),
+                       new ReduceAction276(101),
+                       new ReduceAction277(101),
+                       new ReduceAction385(101),
+                       new ReduceAction389(101),
+                       new ReduceAction390(101),
+                       new ReduceAction391(101),
+                       new ReduceAction392(101),
+                       new ReduceAction393(101),
+                       new ReduceAction394(101),
+                       new ReduceAction395(101),
+                       new ReduceAction396(101),
+                       new ReduceAction243(101),
+                       new ReduceAction398(101),
+                       new ReduceAction399(101),
+                       new ReduceAction400(101),
+                       new ReduceAction240(102),
+                       new ReduceAction241(102),
+                       new ReduceAction242(102),
+                       new ReduceAction243(102),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction253(103),
+                       new ReduceAction254(103),
+                       new ReduceAction255(103),
+                       new ReduceAction256(103),
+                       new ReduceAction257(103),
+                       new ReduceAction258(103),
+                       new ReduceAction259(103),
+                       new ReduceAction260(103),
+                       new ReduceAction261(103),
+                       new ReduceAction262(103),
+                       new ReduceAction263(103),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction243(103),
+                       new ReduceAction270(103),
+                       new ReduceAction271(103),
+                       new ReduceAction272(103),
+                       new ReduceAction273(103),
                        new ReduceAction274(103),
                        new ReduceAction275(103),
                        new ReduceAction276(103),
                        new ReduceAction277(103),
                        new ReduceAction278(103),
-                       new ReduceAction279(103),
-                       new ReduceAction280(103),
-                       new ReduceAction281(103),
-                       new ReduceAction282(103),
-                       new ReduceAction291(104),
-                       new ReduceAction292(105),
-                       new ReduceAction293(105),
-                       new ReduceAction294(105),
-                       new ReduceAction295(105),
-                       new ReduceAction296(106),
-                       new ReduceAction297(106),
-                       new ReduceAction298(106),
+                       new ReduceAction280(104),
+                       new ReduceAction281(104),
+                       new ReduceAction282(105),
+                       new ReduceAction283(105),
+                       new ReduceAction284(105),
+                       new ReduceAction285(105),
+                       new ReduceAction286(105),
+                       new ReduceAction287(105),
+                       new ReduceAction288(105),
+                       new ReduceAction289(105),
+                       new ReduceAction290(105),
                        new ReduceAction299(106),
-                       new ReduceAction300(106),
-                       new ReduceAction301(106),
-                       new ReduceAction302(106),
-                       new ReduceAction303(106),
-                       new ReduceAction304(106),
-                       new ReduceAction305(106),
-                       new ReduceAction308(107),
-                       new ReduceAction309(107),
+                       new ReduceAction300(107),
+                       new ReduceAction301(107),
+                       new ReduceAction302(107),
+                       new ReduceAction303(107),
+                       new ReduceAction304(108),
+                       new ReduceAction305(108),
+                       new ReduceAction306(108),
+                       new ReduceAction307(108),
+                       new ReduceAction308(108),
+                       new ReduceAction309(108),
                        new ReduceAction310(108),
+                       new ReduceAction311(108),
+                       new ReduceAction312(108),
+                       new ReduceAction313(108),
+                       new ReduceAction316(109),
                        new ReduceAction317(109),
-                       new ReduceAction318(109),
-                       new ReduceAction319(110),
-                       new ReduceAction320(110),
-                       new ReduceAction321(111),
-                       new ReduceAction322(111),
-                       new ReduceAction323(111),
-                       new ReduceAction324(111),
-                       new ReduceAction325(112),
-                       new ReduceAction326(112),
-                       new ReduceAction238(113),
-                       new ReduceAction265(113),
-                       new ReduceAction266(113),
-                       new ReduceAction333(113),
-                       new ReduceAction238(114),
-                       new ReduceAction265(114),
-                       new ReduceAction266(114),
-                       new ReduceAction235(115),
-                       new ReduceAction236(115),
-                       new ReduceAction237(115),
-                       new ReduceAction235(116),
-                       new ReduceAction236(116),
-                       new ReduceAction237(116),
-                       new ReduceAction238(117),
-                       new ReduceAction265(117),
-                       new ReduceAction266(117),
-                       new ReduceAction238(118),
-                       new ReduceAction335(118),
-                       new ReduceAction238(119),
-                       new ReduceAction337(119),
-                       new ReduceAction338(119),
-                       new ReduceAction339(119),
-                       new ReduceAction238(120),
-                       new ReduceAction341(120),
-                       new ReduceAction238(121),
-                       new ReduceAction343(121),
-                       new ReduceAction344(121),
+                       new ReduceAction318(110),
+                       new ReduceAction325(111),
+                       new ReduceAction326(111),
+                       new ReduceAction327(112),
+                       new ReduceAction328(112),
+                       new ReduceAction329(113),
+                       new ReduceAction330(113),
+                       new ReduceAction331(113),
+                       new ReduceAction332(113),
+                       new ReduceAction333(114),
+                       new ReduceAction334(114),
+                       new ReduceAction243(115),
+                       new ReduceAction272(115),
+                       new ReduceAction273(115),
+                       new ReduceAction341(115),
+                       new ReduceAction243(116),
+                       new ReduceAction272(116),
+                       new ReduceAction273(116),
+                       new ReduceAction240(117),
+                       new ReduceAction241(117),
+                       new ReduceAction242(117),
+                       new ReduceAction240(118),
+                       new ReduceAction241(118),
+                       new ReduceAction242(118),
+                       new ReduceAction243(119),
+                       new ReduceAction272(119),
+                       new ReduceAction273(119),
+                       new ReduceAction243(120),
+                       new ReduceAction343(120),
+                       new ReduceAction243(121),
                        new ReduceAction345(121),
                        new ReduceAction346(121),
                        new ReduceAction347(121),
-                       new ReduceAction348(121),
-                       new ReduceAction349(121),
-                       new ReduceAction350(121),
-                       new ReduceAction351(121),
-                       new ReduceAction352(121),
-                       new ReduceAction353(121),
-                       new ReduceAction238(122),
-                       new ReduceAction355(122),
-                       new ReduceAction356(122),
-                       new ReduceAction238(123),
+                       new ReduceAction243(122),
+                       new ReduceAction349(122),
+                       new ReduceAction243(123),
+                       new ReduceAction351(123),
+                       new ReduceAction352(123),
+                       new ReduceAction353(123),
+                       new ReduceAction354(123),
+                       new ReduceAction355(123),
+                       new ReduceAction356(123),
+                       new ReduceAction357(123),
                        new ReduceAction358(123),
                        new ReduceAction359(123),
                        new ReduceAction360(123),
-                       new ReduceAction238(124),
-                       new ReduceAction362(124),
+                       new ReduceAction361(123),
+                       new ReduceAction243(124),
                        new ReduceAction363(124),
-                       new ReduceAction238(125),
-                       new ReduceAction365(125),
+                       new ReduceAction364(124),
+                       new ReduceAction243(125),
                        new ReduceAction366(125),
                        new ReduceAction367(125),
-                       new ReduceAction368(126),
-                       new ReduceAction369(126),
-                       new ReduceAction263(126),
-                       new ReduceAction264(126),
-                       new ReduceAction267(126),
-                       new ReduceAction268(126),
-                       new ReduceAction269(126),
-                       new ReduceAction270(126),
-                       new ReduceAction376(126),
-                       new ReduceAction377(126),
-                       new ReduceAction381(126),
-                       new ReduceAction382(126),
-                       new ReduceAction383(126),
-                       new ReduceAction384(126),
-                       new ReduceAction385(126),
-                       new ReduceAction386(126),
-                       new ReduceAction387(126),
-                       new ReduceAction388(126),
-                       new ReduceAction238(126),
-                       new ReduceAction391(126),
-                       new ReduceAction392(126),
-                       new ReduceAction238(127),
-                       new ReduceAction265(127),
-                       new ReduceAction266(127),
-                       new ReduceAction238(128),
-                       new ReduceAction335(128),
-                       new ReduceAction238(129),
-                       new ReduceAction337(129),
-                       new ReduceAction338(129),
-                       new ReduceAction339(129),
-                       new ReduceAction238(130),
-                       new ReduceAction341(130),
-                       new ReduceAction238(131),
-                       new ReduceAction343(131),
-                       new ReduceAction344(131),
+                       new ReduceAction368(125),
+                       new ReduceAction243(126),
+                       new ReduceAction370(126),
+                       new ReduceAction371(126),
+                       new ReduceAction243(127),
+                       new ReduceAction373(127),
+                       new ReduceAction374(127),
+                       new ReduceAction375(127),
+                       new ReduceAction376(128),
+                       new ReduceAction377(128),
+                       new ReduceAction270(128),
+                       new ReduceAction271(128),
+                       new ReduceAction274(128),
+                       new ReduceAction275(128),
+                       new ReduceAction276(128),
+                       new ReduceAction277(128),
+                       new ReduceAction384(128),
+                       new ReduceAction385(128),
+                       new ReduceAction389(128),
+                       new ReduceAction390(128),
+                       new ReduceAction391(128),
+                       new ReduceAction392(128),
+                       new ReduceAction393(128),
+                       new ReduceAction394(128),
+                       new ReduceAction395(128),
+                       new ReduceAction396(128),
+                       new ReduceAction243(128),
+                       new ReduceAction399(128),
+                       new ReduceAction400(128),
+                       new ReduceAction243(129),
+                       new ReduceAction272(129),
+                       new ReduceAction273(129),
+                       new ReduceAction243(130),
+                       new ReduceAction343(130),
+                       new ReduceAction243(131),
                        new ReduceAction345(131),
                        new ReduceAction346(131),
                        new ReduceAction347(131),
-                       new ReduceAction348(131),
-                       new ReduceAction349(131),
-                       new ReduceAction350(131),
-                       new ReduceAction351(131),
-                       new ReduceAction352(131),
-                       new ReduceAction353(131),
-                       new ReduceAction238(132),
-                       new ReduceAction355(132),
-                       new ReduceAction356(132),
-                       new ReduceAction238(133),
+                       new ReduceAction243(132),
+                       new ReduceAction349(132),
+                       new ReduceAction243(133),
+                       new ReduceAction351(133),
+                       new ReduceAction352(133),
+                       new ReduceAction353(133),
+                       new ReduceAction354(133),
+                       new ReduceAction355(133),
+                       new ReduceAction356(133),
+                       new ReduceAction357(133),
                        new ReduceAction358(133),
                        new ReduceAction359(133),
                        new ReduceAction360(133),
-                       new ReduceAction238(134),
-                       new ReduceAction362(134),
+                       new ReduceAction361(133),
+                       new ReduceAction243(134),
                        new ReduceAction363(134),
-                       new ReduceAction238(135),
-                       new ReduceAction365(135),
-                       new ReduceAction688(135),
-                       new ReduceAction689(136),
-                       new ReduceAction690(136),
-                       new ReduceAction267(136),
-                       new ReduceAction268(136),
-                       new ReduceAction693(136),
-                       new ReduceAction377(136),
-                       new ReduceAction381(136),
-                       new ReduceAction382(136),
-                       new ReduceAction383(136),
-                       new ReduceAction384(136),
-                       new ReduceAction385(136),
-                       new ReduceAction386(136),
-                       new ReduceAction387(136),
-                       new ReduceAction388(136),
-                       new ReduceAction238(136),
-                       new ReduceAction391(136),
-                       new ReduceAction392(136),
-                       new ReduceAction706(137),
-                       new ReduceAction707(137),
-                       new ReduceAction238(138),
-                       new ReduceAction265(138),
-                       new ReduceAction266(138),
-                       new ReduceAction238(139),
-                       new ReduceAction265(139),
-                       new ReduceAction266(139),
-                       new ReduceAction714(140),
-                       new ReduceAction715(140),
-                       new ReduceAction716(141),
-                       new ReduceAction717(141),
-                       new ReduceAction718(142),
-                       new ReduceAction719(142),
-                       new ReduceAction720(143),
-                       new ReduceAction721(143),
-                       new ReduceAction718(144),
-                       new ReduceAction719(144),
-                       new ReduceAction724(145),
-                       new ReduceAction725(145),
-                       new ReduceAction726(146),
-                       new ReduceAction727(146),
-                       new ReduceAction728(147),
-                       new ReduceAction729(147),
-                       new ReduceAction730(148),
-                       new ReduceAction731(148),
-                       new ReduceAction231(149),
-                       new ReduceAction733(149),
-                       new ReduceAction406(150),
-                       new ReduceAction735(150),
-                       new ReduceAction736(151),
-                       new ReduceAction737(151),
-                       new ReduceAction406(152),
-                       new ReduceAction735(152),
-                       new ReduceAction412(153),
-                       new ReduceAction741(153),
-                       new ReduceAction742(154),
-                       new ReduceAction743(154),
-                       new ReduceAction744(155),
-                       new ReduceAction745(155)
+                       new ReduceAction364(134),
+                       new ReduceAction243(135),
+                       new ReduceAction366(135),
+                       new ReduceAction367(135),
+                       new ReduceAction368(135),
+                       new ReduceAction243(136),
+                       new ReduceAction370(136),
+                       new ReduceAction371(136),
+                       new ReduceAction243(137),
+                       new ReduceAction373(137),
+                       new ReduceAction698(137),
+                       new ReduceAction699(138),
+                       new ReduceAction700(138),
+                       new ReduceAction274(138),
+                       new ReduceAction275(138),
+                       new ReduceAction703(138),
+                       new ReduceAction385(138),
+                       new ReduceAction389(138),
+                       new ReduceAction390(138),
+                       new ReduceAction391(138),
+                       new ReduceAction392(138),
+                       new ReduceAction393(138),
+                       new ReduceAction394(138),
+                       new ReduceAction395(138),
+                       new ReduceAction396(138),
+                       new ReduceAction243(138),
+                       new ReduceAction399(138),
+                       new ReduceAction400(138),
+                       new ReduceAction716(139),
+                       new ReduceAction717(139),
+                       new ReduceAction243(140),
+                       new ReduceAction272(140),
+                       new ReduceAction273(140),
+                       new ReduceAction243(141),
+                       new ReduceAction272(141),
+                       new ReduceAction273(141),
+                       new ReduceAction724(142),
+                       new ReduceAction725(142),
+                       new ReduceAction726(143),
+                       new ReduceAction727(143),
+                       new ReduceAction728(144),
+                       new ReduceAction729(144),
+                       new ReduceAction730(145),
+                       new ReduceAction731(145),
+                       new ReduceAction728(146),
+                       new ReduceAction729(146),
+                       new ReduceAction734(147),
+                       new ReduceAction735(147),
+                       new ReduceAction736(148),
+                       new ReduceAction737(148),
+                       new ReduceAction738(149),
+                       new ReduceAction739(149),
+                       new ReduceAction740(150),
+                       new ReduceAction741(150),
+                       new ReduceAction236(151),
+                       new ReduceAction743(151),
+                       new ReduceAction744(152),
+                       new ReduceAction745(152),
+                       new ReduceAction212(153),
+                       new ReduceAction747(153),
+                       new ReduceAction744(154),
+                       new ReduceAction745(154),
+                       new ReduceAction419(155),
+                       new ReduceAction751(155),
+                       new ReduceAction752(156),
+                       new ReduceAction753(156),
+                       new ReduceAction754(157),
+                       new ReduceAction755(157)
                )
        end
 end
@@ -2116,6 +2127,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,
@@ -2124,7 +2137,8 @@ private class ReduceAction39
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode9
+                                               listnode9,
+                                               tkwendnode10
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2156,6 +2170,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,
@@ -2164,7 +2180,8 @@ private class ReduceAction40
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode9
+                                               listnode9,
+                                               tkwendnode10
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2197,6 +2214,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,
@@ -2205,7 +2224,8 @@ private class ReduceAction41
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2241,6 +2261,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,
@@ -2249,7 +2271,8 @@ private class ReduceAction42
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2282,6 +2305,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,
@@ -2290,7 +2315,8 @@ private class ReduceAction43
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2326,6 +2352,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,
@@ -2334,7 +2362,8 @@ private class ReduceAction44
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2371,6 +2400,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,
@@ -2379,7 +2410,8 @@ private class ReduceAction45
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2419,6 +2451,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,
@@ -2427,7 +2461,8 @@ private class ReduceAction46
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2460,6 +2495,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,
@@ -2468,7 +2505,8 @@ private class ReduceAction47
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2504,6 +2542,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,
@@ -2512,7 +2552,8 @@ private class ReduceAction48
                                                tclassidnode6,
                                                listnode7,
                                                listnode8,
-                                               listnode10
+                                               listnode10,
+                                               tkwendnode11
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2549,6 +2590,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,
@@ -2557,7 +2600,8 @@ private class ReduceAction49
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2597,6 +2641,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,
@@ -2605,7 +2651,8 @@ private class ReduceAction50
                                                tclassidnode6,
                                                listnode8,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2642,6 +2689,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,
@@ -2650,7 +2699,8 @@ private class ReduceAction51
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2690,6 +2740,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,
@@ -2698,7 +2750,8 @@ private class ReduceAction52
                                                tclassidnode6,
                                                listnode7,
                                                listnode9,
-                                               listnode11
+                                               listnode11,
+                                               tkwendnode12
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2739,6 +2792,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,
@@ -2747,7 +2802,8 @@ private class ReduceAction53
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode12
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -2791,6 +2847,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,
@@ -2799,7 +2857,8 @@ private class ReduceAction54
                                                tclassidnode6,
                                                listnode8,
                                                listnode10,
-                                               listnode12
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6810,8 +6869,7 @@ private class ReduceAction166
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var pvisibilitynode1: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
-                                       )
+                                       var pvisibilitynode1: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
@@ -7155,19 +7213,25 @@ private class ReduceAction188
        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 listnode5 = new Array[Object]
-                                       var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable AType
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var ptypenode5 = nodearraylist4
+                                       assert ptypenode5 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
-                                               ptypenode3,
-                                               listnode5
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
+                                               ptypenode5,
+                                               listnode6
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7178,23 +7242,29 @@ private class ReduceAction189
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable AType
-                                       var listnode5 = nodearraylist3
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
+                                       var listnode4 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var ptypenode6 = nodearraylist5
+                                       assert ptypenode6 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode3,
-                                               ptypenode4,
-                                               listnode6
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
+                                               ptypenode6,
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7205,16 +7275,29 @@ private class ReduceAction190
        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 listnode2 = new Array[Object]
-                                       var listnode4 = new Array[Object]
-                                       var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable AType
+                                       var listnode3 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var ptypenode5 = nodearraylist4
+                                       assert ptypenode5 isa nullable AType
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
-                                               ptypenode3,
-                                               listnode4
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
+                                               ptypenode5,
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7225,20 +7308,33 @@ private class ReduceAction191
        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 listnode3 = new Array[Object]
-                                       var listnode5 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable AType
+                                       var listnode4 = new Array[Object]
+                                       var listnode8 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var ptypenode6 = nodearraylist5
+                                       assert ptypenode6 isa nullable AType
+                                       var listnode7 = nodearraylist7
+                                       assert listnode7 isa Array[Object]
+                                       listnode8 = concat(listnode8, listnode7)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode3,
-                                               ptypenode4,
-                                               listnode5
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
+                                               ptypenode6,
+                                               listnode8
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7249,16 +7345,22 @@ private class ReduceAction192
        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 listnode2 = new Array[Object]
-                                       var listnode5 = new Array[Object]
-                                       var listnode4 = nodearraylist1
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
                                                null,
-                                               listnode5
+                                               listnode6
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7269,20 +7371,26 @@ private class ReduceAction193
        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 listnode6 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var listnode5 = nodearraylist2
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
+                                       var listnode4 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode3,
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
                                                null,
-                                               listnode6
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7293,13 +7401,26 @@ private class ReduceAction194
        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 listnode4 = new Array[Object]
+                                       var listnode3 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var listnode6 = nodearraylist5
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
                                                null,
-                                               listnode4
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7310,17 +7431,30 @@ private class ReduceAction195
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode5 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
+                                       var listnode4 = new Array[Object]
+                                       var listnode8 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var listnode7 = nodearraylist6
+                                       assert listnode7 isa Array[Object]
+                                       listnode8 = concat(listnode8, listnode7)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode3,
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
                                                null,
-                                               listnode5
+                                               listnode8
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7331,12 +7465,18 @@ private class ReduceAction196
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var listnode2 = new Array[Object]
-                                       var listnode4 = new Array[Object]
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var ptypenode5 = nodearraylist1
+                                       assert ptypenode5 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
                                                null,
-                                               listnode4
+                                               listnode3,
+                                               null,
+                                               ptypenode5,
+                                               listnode6
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7347,16 +7487,22 @@ private class ReduceAction197
        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]
-                                       var listnode5 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
+                                       var listnode7 = new Array[Object]
+                                       var ptypenode5 = nodearraylist1
+                                       assert ptypenode5 isa nullable AType
+                                       var listnode6 = nodearraylist3
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               null,
                                                listnode3,
                                                null,
-                                               listnode5
+                                               ptypenode5,
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7368,14 +7514,14 @@ private class ReduceAction198
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var listnode4 = new Array[Object]
-                                       var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable AType
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               listnode2,
-                                               ptypenode3,
-                                               listnode4
+                                               null,
+                                               listnode3,
+                                               null,
+                                               null,
+                                               listnode6
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7389,16 +7535,16 @@ private class ReduceAction199
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var listnode5 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable AType
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist2
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               null,
                                                listnode3,
-                                               ptypenode4,
-                                               listnode5
+                                               null,
+                                               null,
+                                               listnode7
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -7409,17 +7555,23 @@ private class ReduceAction200
        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 pparamnode1 = nodearraylist3
-                                       if pparamnode1 != null then
-                                               listnode2.add(pparamnode1)
-                                       end
-                                       node_list = listnode2
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
+                                               null,
+                                               listnode6
+                                       )
+                                       node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -7428,21 +7580,27 @@ private class ReduceAction201
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pparamnode1 = nodearraylist3
-                                       var listnode2 = nodearraylist4
-                                       assert listnode2 isa Array[Object]
-                                       if pparamnode1 != null then
-                                               listnode3.add(pparamnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       var listnode4 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
+                                               null,
+                                               listnode7
+                                       )
+                                       node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -7451,12 +7609,27 @@ private class ReduceAction202
        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 listnode1 = new Array[Object]
-                                       node_list = listnode1
-                                       p.push(p.go_to(_goto), node_list)
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var ptypenode5 = nodearraylist4
+                                       assert ptypenode5 isa nullable AType
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4,
+                                               ptypenode5,
+                                               listnode6
+                                       )
+                                       node_list = psignaturenode1
+                                       p.push(p.go_to(_goto), node_list)
        end
 end
 private class ReduceAction203
@@ -7464,6 +7637,113 @@ private class ReduceAction203
        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 listnode4 = new Array[Object]
+                                       var listnode7 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var ptypenode6 = nodearraylist5
+                                       assert ptypenode6 isa nullable AType
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5,
+                                               ptypenode6,
+                                               listnode7
+                                       )
+                                       node_list = psignaturenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction204
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               null,
+                                               listnode3,
+                                               null,
+                                               null,
+                                               listnode6
+                                       )
+                                       node_list = psignaturenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction205
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode3 = new Array[Object]
+                                       var listnode6 = new Array[Object]
+                                       var ptypenode5 = nodearraylist1
+                                       assert ptypenode5 isa nullable AType
+                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                               null,
+                                               listnode3,
+                                               null,
+                                               ptypenode5,
+                                               listnode6
+                                       )
+                                       node_list = psignaturenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction206
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var pparamnode1 = nodearraylist1
+                                       if pparamnode1 != null then
+                                               listnode2.add(pparamnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction207
+       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]
+                                       var pparamnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       if pparamnode1 != null then
+                                               listnode3.add(pparamnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction208
+       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
@@ -7472,7 +7752,7 @@ private class ReduceAction203
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction204
+private class ReduceAction209
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7489,7 +7769,7 @@ private class ReduceAction204
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction205
+private class ReduceAction210
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7509,7 +7789,7 @@ private class ReduceAction205
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction206
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7532,22 +7812,21 @@ private class ReduceAction206
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction207
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist2
+                                       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 ReduceAction208
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7573,7 +7852,7 @@ private class ReduceAction208
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction209
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7602,7 +7881,7 @@ private class ReduceAction209
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction210
+private class ReduceAction215
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7632,7 +7911,7 @@ private class ReduceAction210
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction211
+private class ReduceAction216
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7665,7 +7944,7 @@ private class ReduceAction211
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction212
+private class ReduceAction217
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7696,7 +7975,7 @@ private class ReduceAction212
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction213
+private class ReduceAction218
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7730,7 +8009,7 @@ private class ReduceAction213
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction214
+private class ReduceAction219
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7746,7 +8025,7 @@ private class ReduceAction214
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction215
+private class ReduceAction220
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7770,7 +8049,7 @@ private class ReduceAction215
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction216
+private class ReduceAction221
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7798,7 +8077,7 @@ private class ReduceAction216
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction217
+private class ReduceAction222
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7811,7 +8090,7 @@ private class ReduceAction217
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction218
+private class ReduceAction223
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7822,7 +8101,7 @@ private class ReduceAction218
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction220
+private class ReduceAction225
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7837,7 +8116,7 @@ private class ReduceAction220
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction221
+private class ReduceAction226
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7852,7 +8131,7 @@ private class ReduceAction221
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction222
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7875,7 +8154,7 @@ private class ReduceAction222
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction223
+private class ReduceAction228
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7890,7 +8169,7 @@ private class ReduceAction223
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction224
+private class ReduceAction229
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7918,7 +8197,7 @@ private class ReduceAction224
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction225
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7942,7 +8221,7 @@ private class ReduceAction225
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction226
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7971,7 +8250,7 @@ private class ReduceAction226
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction227
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7989,7 +8268,7 @@ private class ReduceAction227
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction228
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8010,7 +8289,7 @@ private class ReduceAction228
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction229
+private class ReduceAction234
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8036,7 +8315,7 @@ private class ReduceAction229
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction230
+private class ReduceAction235
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8065,7 +8344,7 @@ private class ReduceAction230
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction231
+private class ReduceAction236
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8080,7 +8359,7 @@ private class ReduceAction231
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction232
+private class ReduceAction237
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8099,7 +8378,7 @@ private class ReduceAction232
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction233
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8112,12 +8391,11 @@ private class ReduceAction233
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction235
+private class ReduceAction240
        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
@@ -8125,7 +8403,7 @@ private class ReduceAction235
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction236
+private class ReduceAction241
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8133,28 +8411,34 @@ private class ReduceAction236
                                        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
 end
-private class ReduceAction237
+private class ReduceAction242
        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
 end
-private class ReduceAction238
+private class ReduceAction243
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8165,7 +8449,7 @@ private class ReduceAction238
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction244
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8178,13 +8462,14 @@ private class ReduceAction239
                                                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
 end
-private class ReduceAction240
+private class ReduceAction245
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8201,13 +8486,14 @@ private class ReduceAction240
                                        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
 end
-private class ReduceAction241
+private class ReduceAction246
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8221,13 +8507,14 @@ private class ReduceAction241
                                                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
 end
-private class ReduceAction242
+private class ReduceAction247
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8245,25 +8532,66 @@ private class ReduceAction242
                                        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
 end
-private class ReduceAction243
+private class ReduceAction248
        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
+                                       var listnode3 = new Array[Object]
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       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,
+                                               tkwendnode4
+                                       )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction246
+private class ReduceAction249
+       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 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 tkwendnode5 = nodearraylist4
+                                       assert tkwendnode5 isa nullable TKwend
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode4,
+                                               tkwendnode5
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction253
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8279,7 +8607,7 @@ private class ReduceAction246
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction247
+private class ReduceAction254
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8298,7 +8626,7 @@ private class ReduceAction247
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction248
+private class ReduceAction255
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8315,7 +8643,7 @@ private class ReduceAction248
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction249
+private class ReduceAction256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8335,7 +8663,7 @@ private class ReduceAction249
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction250
+private class ReduceAction257
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8355,7 +8683,7 @@ private class ReduceAction250
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction251
+private class ReduceAction258
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8378,7 +8706,7 @@ private class ReduceAction251
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction252
+private class ReduceAction259
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8393,7 +8721,7 @@ private class ReduceAction252
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction253
+private class ReduceAction260
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8410,7 +8738,7 @@ private class ReduceAction253
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction254
+private class ReduceAction261
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8430,7 +8758,7 @@ private class ReduceAction254
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction255
+private class ReduceAction262
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8450,7 +8778,7 @@ private class ReduceAction255
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction256
+private class ReduceAction263
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8473,7 +8801,7 @@ private class ReduceAction256
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction263
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8484,25 +8812,23 @@ private class ReduceAction263
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
-                                       var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               listnode6
+                                               pexprsnode4,
+                                               listnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction264
+private class ReduceAction271
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8510,25 +8836,22 @@ private class ReduceAction264
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tidnode3 = nodearraylist1
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               listnode6
+                                               pexprsnode4,
+                                               listnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction265
+private class ReduceAction272
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8539,29 +8862,27 @@ private class ReduceAction265
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var listnode7 = new Array[Object]
+                                       var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var listnode6 = nodearraylist6
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = nodearraylist6
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               listnode7
+                                               pexprsnode4,
+                                               listnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction266
+private class ReduceAction273
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8569,51 +8890,46 @@ private class ReduceAction266
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var listnode6 = new Array[Object]
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tidnode3 = nodearraylist1
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var listnode6 = nodearraylist3
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = nodearraylist3
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               listnode7
+                                               pexprsnode4,
+                                               listnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction267
+private class ReduceAction274
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var tkwsupernode3 = nodearraylist1
                                        assert tkwsupernode3 isa nullable TKwsuper
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
                                                null,
                                                tkwsupernode3,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction268
+private class ReduceAction275
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8621,24 +8937,22 @@ private class ReduceAction268
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
                                        assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist3
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
                                                pqualifiednode2,
                                                tkwsupernode3,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction269
+private class ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8648,48 +8962,71 @@ private class ReduceAction269
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
                                                pexprnode2,
                                                tkwinitnode3,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction270
+private class ReduceAction277
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tkwinitnode3 = nodearraylist1
                                        assert tkwinitnode3 isa nullable TKwinit
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
                                                pexprnode2,
                                                tkwinitnode3,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction271
+private class ReduceAction278
+       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 tkwdebugnode2 = nodearraylist1
+                                       assert tkwdebugnode2 isa nullable TKwdebug
+                                       var tkwtypenode3 = nodearraylist2
+                                       assert tkwtypenode3 isa nullable TKwtype
+                                       var pexprnode4 = nodearraylist5
+                                       assert pexprnode4 isa nullable AExpr
+                                       var ptypenode5 = nodearraylist3
+                                       assert ptypenode5 isa nullable AType
+                                       var pexprnode1: nullable ADebugTypeExpr = new ADebugTypeExpr.init_adebugtypeexpr(
+                                               tkwdebugnode2,
+                                               tkwtypenode3,
+                                               pexprnode4,
+                                               ptypenode5
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8708,7 +9045,7 @@ private class ReduceAction271
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction272
+private class ReduceAction280
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8723,7 +9060,7 @@ private class ReduceAction272
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction273
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8742,7 +9079,7 @@ private class ReduceAction273
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction274
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8775,7 +9112,7 @@ private class ReduceAction274
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction275
+private class ReduceAction283
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8814,7 +9151,7 @@ private class ReduceAction275
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction276
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8851,7 +9188,7 @@ private class ReduceAction276
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction277
+private class ReduceAction285
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8881,7 +9218,7 @@ private class ReduceAction277
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction278
+private class ReduceAction286
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8917,7 +9254,7 @@ private class ReduceAction278
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction279
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8951,7 +9288,7 @@ private class ReduceAction279
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction280
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8980,7 +9317,7 @@ private class ReduceAction280
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction281
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9015,7 +9352,7 @@ private class ReduceAction281
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction282
+private class ReduceAction290
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9048,7 +9385,7 @@ private class ReduceAction282
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction283
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9079,7 +9416,7 @@ private class ReduceAction283
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction284
+private class ReduceAction292
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9116,7 +9453,7 @@ private class ReduceAction284
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction285
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9151,7 +9488,7 @@ private class ReduceAction285
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction286
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9179,7 +9516,7 @@ private class ReduceAction286
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction287
+private class ReduceAction295
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9213,7 +9550,7 @@ private class ReduceAction287
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction288
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9245,7 +9582,7 @@ private class ReduceAction288
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction289
+private class ReduceAction297
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9260,7 +9597,7 @@ private class ReduceAction289
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction290
+private class ReduceAction298
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9275,7 +9612,7 @@ private class ReduceAction290
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction291
+private class ReduceAction299
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9292,7 +9629,7 @@ private class ReduceAction291
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction292
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9314,7 +9651,7 @@ private class ReduceAction292
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction293
+private class ReduceAction301
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9339,7 +9676,7 @@ private class ReduceAction293
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction294
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9368,7 +9705,7 @@ private class ReduceAction294
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction295
+private class ReduceAction303
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9400,7 +9737,7 @@ private class ReduceAction295
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction296
+private class ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9429,7 +9766,7 @@ private class ReduceAction296
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction297
+private class ReduceAction305
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9437,8 +9774,7 @@ private class ReduceAction297
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var tassignnode4 = nodearraylist2
@@ -9455,7 +9791,7 @@ private class ReduceAction297
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction298
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9467,30 +9803,28 @@ private class ReduceAction298
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tassignnode6 = nodearraylist6
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var tassignnode5 = nodearraylist6
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pexprsnode4,
+                                               tassignnode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction299
+private class ReduceAction307
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9499,30 +9833,27 @@ private class ReduceAction299
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tidnode3 = nodearraylist1
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tassignnode6 = nodearraylist3
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var tassignnode5 = nodearraylist3
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pexprsnode4,
+                                               tassignnode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction300
+private class ReduceAction308
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9531,27 +9862,25 @@ private class ReduceAction300
                                        var nodearraylist3 = p.pop
                                        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]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tassignnode5 = nodearraylist3
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprsnode3 = nodearraylist2
+                                       assert pexprsnode3 isa nullable AExprs
+                                       var tassignnode4 = nodearraylist3
+                                       assert tassignnode4 isa nullable TAssign
+                                       var pexprnode5 = nodearraylist4
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
                                                pexprnode2,
-                                               listnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pexprsnode3,
+                                               tassignnode4,
+                                               pexprnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction301
+private class ReduceAction309
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9580,7 +9909,7 @@ private class ReduceAction301
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction302
+private class ReduceAction310
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9588,8 +9917,7 @@ private class ReduceAction302
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist2
@@ -9606,7 +9934,7 @@ private class ReduceAction302
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction303
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9618,30 +9946,28 @@ private class ReduceAction303
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var passignopnode5 = nodearraylist6
+                                       assert passignopnode5 isa nullable AAssignOp
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pexprsnode4,
+                                               passignopnode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction304
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9650,30 +9976,27 @@ private class ReduceAction304
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tidnode3 = nodearraylist1
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist2
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var passignopnode5 = nodearraylist3
+                                       assert passignopnode5 isa nullable AAssignOp
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pexprsnode4,
+                                               passignopnode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction305
+private class ReduceAction313
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9682,27 +10005,25 @@ private class ReduceAction305
                                        var nodearraylist3 = p.pop
                                        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]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprsnode3 = nodearraylist2
+                                       assert pexprsnode3 isa nullable AExprs
+                                       var passignopnode4 = nodearraylist3
+                                       assert passignopnode4 isa nullable AAssignOp
+                                       var pexprnode5 = nodearraylist4
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
                                                pexprnode2,
-                                               listnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pexprsnode3,
+                                               passignopnode4,
+                                               pexprnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction306
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9717,7 +10038,7 @@ private class ReduceAction306
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction307
+private class ReduceAction315
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9732,7 +10053,7 @@ private class ReduceAction307
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction308
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9755,7 +10076,7 @@ private class ReduceAction308
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction309
+private class ReduceAction317
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9775,7 +10096,7 @@ private class ReduceAction309
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction310
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9806,7 +10127,7 @@ private class ReduceAction310
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction311
+private class ReduceAction319
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9833,7 +10154,7 @@ private class ReduceAction311
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction312
+private class ReduceAction320
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9864,7 +10185,7 @@ private class ReduceAction312
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction313
+private class ReduceAction321
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9891,7 +10212,7 @@ private class ReduceAction313
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction314
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9919,7 +10240,7 @@ private class ReduceAction314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction317
+private class ReduceAction325
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9942,7 +10263,7 @@ private class ReduceAction317
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction318
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9962,7 +10283,7 @@ private class ReduceAction318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction319
+private class ReduceAction327
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9995,7 +10316,7 @@ private class ReduceAction319
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction320
+private class ReduceAction328
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10025,7 +10346,7 @@ private class ReduceAction320
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction321
+private class ReduceAction329
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10069,7 +10390,7 @@ private class ReduceAction321
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction322
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10111,7 +10432,7 @@ private class ReduceAction322
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction323
+private class ReduceAction331
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10152,7 +10473,7 @@ private class ReduceAction323
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction324
+private class ReduceAction332
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10191,7 +10512,7 @@ private class ReduceAction324
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction325
+private class ReduceAction333
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10216,7 +10537,7 @@ private class ReduceAction325
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction326
+private class ReduceAction334
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10244,7 +10565,7 @@ private class ReduceAction326
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction327
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10265,7 +10586,7 @@ private class ReduceAction327
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction328
+private class ReduceAction336
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10289,7 +10610,7 @@ private class ReduceAction328
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction329
+private class ReduceAction337
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10301,7 +10622,7 @@ private class ReduceAction329
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction333
+private class ReduceAction341
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10309,26 +10630,24 @@ private class ReduceAction333
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode6 = new Array[Object]
+                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var listnode5 = nodearraylist3
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
+                                       var pexprsnode3 = nodearraylist2
+                                       assert pexprsnode3 isa nullable AExprs
+                                       var listnode4 = nodearraylist3
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
                                        var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr(
                                                pexprnode2,
-                                               listnode4,
-                                               listnode6
+                                               pexprsnode3,
+                                               listnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction335
+private class ReduceAction343
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10368,7 +10687,7 @@ private class ReduceAction335
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction337
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10389,7 +10708,7 @@ private class ReduceAction337
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction338
+private class ReduceAction346
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10410,7 +10729,7 @@ private class ReduceAction338
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction339
+private class ReduceAction347
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10432,7 +10751,7 @@ private class ReduceAction339
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction341
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10452,7 +10771,7 @@ private class ReduceAction341
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction343
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10473,7 +10792,7 @@ private class ReduceAction343
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction344
+private class ReduceAction352
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10494,7 +10813,7 @@ private class ReduceAction344
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction345
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10515,7 +10834,7 @@ private class ReduceAction345
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction346
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10536,7 +10855,7 @@ private class ReduceAction346
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction347
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10557,7 +10876,7 @@ private class ReduceAction347
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction348
+private class ReduceAction356
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10578,7 +10897,7 @@ private class ReduceAction348
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction349
+private class ReduceAction357
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10599,7 +10918,7 @@ private class ReduceAction349
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction350
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10620,7 +10939,7 @@ private class ReduceAction350
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction351
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10641,7 +10960,7 @@ private class ReduceAction351
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction352
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10662,7 +10981,7 @@ private class ReduceAction352
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction353
+private class ReduceAction361
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10683,7 +11002,7 @@ private class ReduceAction353
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction355
+private class ReduceAction363
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10704,7 +11023,7 @@ private class ReduceAction355
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction356
+private class ReduceAction364
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10725,7 +11044,7 @@ private class ReduceAction356
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction358
+private class ReduceAction366
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10746,7 +11065,7 @@ private class ReduceAction358
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction359
+private class ReduceAction367
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10767,7 +11086,7 @@ private class ReduceAction359
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction360
+private class ReduceAction368
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10788,7 +11107,7 @@ private class ReduceAction360
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction362
+private class ReduceAction370
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10808,7 +11127,7 @@ private class ReduceAction362
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction363
+private class ReduceAction371
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10828,7 +11147,7 @@ private class ReduceAction363
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction365
+private class ReduceAction373
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10837,25 +11156,23 @@ private class ReduceAction365
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var listnode5 = nodearraylist4
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
+                                       var pexprsnode5 = nodearraylist4
+                                       assert pexprsnode5 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
                                                null,
-                                               listnode6
+                                               pexprsnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction366
+private class ReduceAction374
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10880,7 +11197,7 @@ private class ReduceAction366
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction367
+private class ReduceAction375
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10889,8 +11206,7 @@ private class ReduceAction367
                                        var nodearraylist1 = p.pop
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
-                                       var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tattridnode4 = nodearraylist2
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -10902,7 +11218,7 @@ private class ReduceAction367
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction368
+private class ReduceAction376
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10923,14 +11239,13 @@ private class ReduceAction368
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction369
+private class ReduceAction377
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -10941,7 +11256,7 @@ private class ReduceAction369
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction376
+private class ReduceAction384
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10949,22 +11264,20 @@ private class ReduceAction376
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprsnode3 = nodearraylist2
+                                       assert pexprsnode3 isa nullable AExprs
                                        var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr(
                                                pexprnode2,
-                                               listnode4,
-                                               listnode5
+                                               pexprsnode3,
+                                               listnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction377
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10976,27 +11289,25 @@ private class ReduceAction377
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
-                                       var listnode5 = nodearraylist7
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
+                                       var pexprsnode5 = nodearraylist7
+                                       assert pexprsnode5 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
                                                tidnode4,
-                                               listnode6
+                                               pexprsnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction378
+private class ReduceAction386
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11010,19 +11321,25 @@ private class ReduceAction378
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist7
+                                       var tobranode2 = nodearraylist1
+                                       assert tobranode2 isa nullable TObra
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
+                                       var pexprnode4 = nodearraylist7
+                                       assert pexprnode4 isa nullable AExpr
+                                       var tcbranode5 = nodearraylist9
+                                       assert tcbranode5 isa nullable TCbra
                                        var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
-                                               pexprnode2,
-                                               pexprnode3
+                                               tobranode2,
+                                               pexprnode3,
+                                               pexprnode4,
+                                               tcbranode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction379
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11036,36 +11353,40 @@ private class ReduceAction379
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist7
+                                       var tobranode2 = nodearraylist1
+                                       assert tobranode2 isa nullable TObra
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
+                                       var pexprnode4 = nodearraylist7
+                                       assert pexprnode4 isa nullable AExpr
+                                       var tobranode5 = nodearraylist9
+                                       assert tobranode5 isa nullable TObra
                                        var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
-                                               pexprnode2,
-                                               pexprnode3
+                                               tobranode2,
+                                               pexprnode3,
+                                               pexprnode4,
+                                               tobranode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction380
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
+                                       var pexprsnode2 = nodearraylist1
+                                       assert pexprsnode2 isa nullable AExprs
                                        var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr(
-                                               listnode3
+                                               pexprsnode2
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction381
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11080,7 +11401,7 @@ private class ReduceAction381
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction382
+private class ReduceAction390
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11095,7 +11416,7 @@ private class ReduceAction382
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction383
+private class ReduceAction391
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11110,7 +11431,7 @@ private class ReduceAction383
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction384
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11125,7 +11446,7 @@ private class ReduceAction384
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction385
+private class ReduceAction393
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11140,7 +11461,7 @@ private class ReduceAction385
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction386
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11155,7 +11476,7 @@ private class ReduceAction386
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction387
+private class ReduceAction395
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11170,7 +11491,7 @@ private class ReduceAction387
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction388
+private class ReduceAction396
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11185,7 +11506,30 @@ private class ReduceAction388
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction391
+private class ReduceAction398
+       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 toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var pexprnode1: nullable AParExpr = new AParExpr.init_aparexpr(
+                                               toparnode2,
+                                               pexprnode3,
+                                               tcparnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction399
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11204,18 +11548,24 @@ private class ReduceAction391
                                        assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
-                                       var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable AType
+                                       var toparnode4 = nodearraylist6
+                                       assert toparnode4 isa nullable TOpar
+                                       var ptypenode5 = nodearraylist8
+                                       assert ptypenode5 isa nullable AType
+                                       var tcparnode6 = nodearraylist10
+                                       assert tcparnode6 isa nullable TCpar
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
-                                               ptypenode4
+                                               toparnode4,
+                                               ptypenode5,
+                                               tcparnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction392
+private class ReduceAction400
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11236,21 +11586,27 @@ private class ReduceAction392
                                        assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
-                                       var tkwnotnode4 = nodearraylist8
-                                       assert tkwnotnode4 isa nullable TKwnot
-                                       var tkwnullnode5 = nodearraylist10
-                                       assert tkwnullnode5 isa nullable TKwnull
+                                       var toparnode4 = nodearraylist6
+                                       assert toparnode4 isa nullable TOpar
+                                       var tkwnotnode5 = nodearraylist8
+                                       assert tkwnotnode5 isa nullable TKwnot
+                                       var tkwnullnode6 = nodearraylist10
+                                       assert tkwnullnode6 isa nullable TKwnull
+                                       var tcparnode7 = nodearraylist12
+                                       assert tcparnode7 isa nullable TCpar
                                        var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr(
                                                pexprnode2,
                                                tkwasnode3,
-                                               tkwnotnode4,
-                                               tkwnullnode5
+                                               toparnode4,
+                                               tkwnotnode5,
+                                               tkwnullnode6,
+                                               tcparnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction393
+private class ReduceAction401
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11273,7 +11629,7 @@ private class ReduceAction393
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction394
+private class ReduceAction402
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11300,7 +11656,7 @@ private class ReduceAction394
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction395
+private class ReduceAction403
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11322,7 +11678,7 @@ private class ReduceAction395
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction396
+private class ReduceAction404
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11337,7 +11693,7 @@ private class ReduceAction396
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction398
+private class ReduceAction406
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11352,7 +11708,7 @@ private class ReduceAction398
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction399
+private class ReduceAction407
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11367,63 +11723,118 @@ private class ReduceAction399
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction400
+private class ReduceAction408
        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 pexprnode1 = nodearraylist3
-                                       if pexprnode1 != null then
-                                               listnode2.add(pexprnode1)
-                                       end
-                                       node_list = listnode2
+                                       var listnode4 = new Array[Object]
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcparnode5 = nodearraylist4
+                                       assert tcparnode5 isa nullable TCpar
+                                       var pexprsnode1: nullable AParExprs = new AParExprs.init_aparexprs(
+                                               toparnode2,
+                                               listnode4,
+                                               tcparnode5
+                                       )
+                                       node_list = pexprsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction401
+private class ReduceAction409
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var pexprnode1 = nodearraylist3
-                                       var listnode2 = nodearraylist5
-                                       assert listnode2 isa Array[Object]
-                                       if pexprnode1 != null then
-                                               listnode3.add(pexprnode1)
+                                       var toparnode2 = nodearraylist1
+                                       assert toparnode2 isa nullable TOpar
+                                       var tcparnode4 = nodearraylist3
+                                       assert tcparnode4 isa nullable TCpar
+                                       var pexprsnode1: nullable AParExprs = new AParExprs.init_aparexprs(
+                                               toparnode2,
+                                               listnode3,
+                                               tcparnode4
+                                       )
+                                       node_list = pexprsnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction410
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var listnode2 = new Array[Object]
+                                       var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode2
+                                       )
+                                       node_list = pexprsnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction412
+       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
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode3
+                                       )
+                                       node_list = pexprsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction403
+private class ReduceAction415
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var listnode1 = new Array[Object]
-                                       node_list = listnode1
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tobranode2 = nodearraylist1
+                                       assert tobranode2 isa nullable TObra
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tcbranode5 = nodearraylist4
+                                       assert tcbranode5 isa nullable TCbra
+                                       var pexprsnode1: nullable ABraExprs = new ABraExprs.init_abraexprs(
+                                               tobranode2,
+                                               listnode4,
+                                               tcbranode5
+                                       )
+                                       node_list = pexprsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction406
+private class ReduceAction416
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
@@ -11434,7 +11845,27 @@ private class ReduceAction406
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction411
+private class ReduceAction417
+       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]
+                                       var pexprnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist3
+                                       assert listnode2 isa Array[Object]
+                                       if pexprnode1 != null then
+                                               listnode3.add(pexprnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction418
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11448,7 +11879,7 @@ private class ReduceAction411
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction412
+private class ReduceAction419
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11463,7 +11894,7 @@ private class ReduceAction412
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction413
+private class ReduceAction420
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11485,7 +11916,7 @@ private class ReduceAction413
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction414
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11503,7 +11934,7 @@ private class ReduceAction414
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction415
+private class ReduceAction422
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11525,7 +11956,7 @@ private class ReduceAction415
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction416
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11547,7 +11978,7 @@ private class ReduceAction416
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction417
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11573,7 +12004,7 @@ private class ReduceAction417
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction418
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11590,7 +12021,7 @@ private class ReduceAction418
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction419
+private class ReduceAction426
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11611,7 +12042,7 @@ private class ReduceAction419
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction420
+private class ReduceAction427
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11629,7 +12060,7 @@ private class ReduceAction420
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction421
+private class ReduceAction428
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11642,7 +12073,7 @@ private class ReduceAction421
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction422
+private class ReduceAction429
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11655,7 +12086,7 @@ private class ReduceAction422
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction423
+private class ReduceAction430
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11664,7 +12095,7 @@ private class ReduceAction423
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction425
+private class ReduceAction432
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11681,7 +12112,7 @@ private class ReduceAction425
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction426
+private class ReduceAction433
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11699,7 +12130,7 @@ private class ReduceAction426
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction428
+private class ReduceAction435
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11708,7 +12139,7 @@ private class ReduceAction428
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction429
+private class ReduceAction436
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11719,7 +12150,7 @@ private class ReduceAction429
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction430
+private class ReduceAction437
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11729,7 +12160,7 @@ private class ReduceAction430
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction431
+private class ReduceAction438
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11740,7 +12171,7 @@ private class ReduceAction431
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction688
+private class ReduceAction698
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11763,7 +12194,7 @@ private class ReduceAction688
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction689
+private class ReduceAction699
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11782,7 +12213,7 @@ private class ReduceAction689
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction690
+private class ReduceAction700
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11791,25 +12222,23 @@ private class ReduceAction690
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
-                                       var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist3
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               listnode5,
-                                               listnode6
+                                               pexprsnode4,
+                                               listnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction693
+private class ReduceAction703
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11817,24 +12246,22 @@ private class ReduceAction693
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist2
                                        assert tkwinitnode3 isa nullable TKwinit
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprsnode4 = nodearraylist3
+                                       assert pexprsnode4 isa nullable AExprs
                                        var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
                                                pexprnode2,
                                                tkwinitnode3,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction706
+private class ReduceAction716
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11847,18 +12274,17 @@ private class ReduceAction706
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction707
+private class ReduceAction717
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var pexprnode1: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr(
-                                       )
+                                       var pexprnode1: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction714
+private class ReduceAction724
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11873,7 +12299,7 @@ private class ReduceAction714
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction715
+private class ReduceAction725
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11892,7 +12318,7 @@ private class ReduceAction715
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction716
+private class ReduceAction726
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11907,7 +12333,7 @@ private class ReduceAction716
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction717
+private class ReduceAction727
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11926,7 +12352,7 @@ private class ReduceAction717
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction718
+private class ReduceAction728
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11941,7 +12367,7 @@ private class ReduceAction718
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction719
+private class ReduceAction729
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11960,7 +12386,7 @@ private class ReduceAction719
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction720
+private class ReduceAction730
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11975,7 +12401,7 @@ private class ReduceAction720
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction721
+private class ReduceAction731
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11994,7 +12420,7 @@ private class ReduceAction721
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction724
+private class ReduceAction734
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12009,7 +12435,7 @@ private class ReduceAction724
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction725
+private class ReduceAction735
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12028,7 +12454,7 @@ private class ReduceAction725
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction726
+private class ReduceAction736
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12043,7 +12469,7 @@ private class ReduceAction726
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction727
+private class ReduceAction737
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12062,7 +12488,7 @@ private class ReduceAction727
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction728
+private class ReduceAction738
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12077,7 +12503,7 @@ private class ReduceAction728
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction729
+private class ReduceAction739
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12096,7 +12522,7 @@ private class ReduceAction729
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction730
+private class ReduceAction740
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12111,7 +12537,7 @@ private class ReduceAction730
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction731
+private class ReduceAction741
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12130,7 +12556,7 @@ private class ReduceAction731
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction733
+private class ReduceAction743
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12149,40 +12575,41 @@ private class ReduceAction733
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction735
+private class ReduceAction744
        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 pexprnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if pexprnode2 != null then
-                                               listnode3.add(pexprnode2)
+                                       var listnode2 = new Array[Object]
+                                       var pexprnode1 = nodearraylist1
+                                       if pexprnode1 != null then
+                                               listnode2.add(pexprnode1)
                                        end
-                                       node_list = listnode3
+                                       node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction736
+private class ReduceAction745
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
+                                       var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
+                                       var pexprnode2 = nodearraylist2
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if pexprnode2 != null then
+                                               listnode3.add(pexprnode2)
+                                       end
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction737
+private class ReduceAction747
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12200,7 +12627,7 @@ private class ReduceAction737
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction741
+private class ReduceAction751
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12219,7 +12646,7 @@ private class ReduceAction741
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction742
+private class ReduceAction752
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12234,7 +12661,7 @@ private class ReduceAction742
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction743
+private class ReduceAction753
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12253,7 +12680,7 @@ private class ReduceAction743
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction744
+private class ReduceAction754
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -12268,7 +12695,7 @@ private class ReduceAction744
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction745
+private class ReduceAction755
        super ReduceAction
        redef fun action(p: Parser)
        do