Merge branch 'pu/qualified-modules' into wip
[nit.git] / src / parser / parser.nit
index 84bf367..d4e99a1 100644 (file)
@@ -20,7 +20,7 @@ private class State
 end
 
 class Parser
-special TablesCapable
+       super TablesCapable
        # Associated lexer
        var _lexer: Lexer
 
@@ -397,150 +397,159 @@ special TablesCapable
                        new ReduceAction244(37),
                        new ReduceAction245(37),
                        new ReduceAction246(37),
-                       new ReduceAction247(38),
-                       new ReduceAction248(38),
-                       new ReduceAction249(38),
+                       new ReduceAction247(37),
+                       new ReduceAction248(37),
+                       new ReduceAction249(37),
                        new ReduceAction250(38),
-                       new ReduceAction251(39),
-                       new ReduceAction252(39),
-                       new ReduceAction253(40),
-                       new ReduceAction254(41),
-                       new ReduceAction255(41),
-                       new ReduceAction256(41),
-                       new ReduceAction257(41),
-                       new ReduceAction258(42),
-                       new ReduceAction259(42),
-                       new ReduceAction260(42),
-                       new ReduceAction261(42),
-                       new ReduceAction262(42),
+                       new ReduceAction251(38),
+                       new ReduceAction252(38),
+                       new ReduceAction253(38),
+                       new ReduceAction254(38),
+                       new ReduceAction255(38),
+                       new ReduceAction256(39),
+                       new ReduceAction257(39),
+                       new ReduceAction258(40),
+                       new ReduceAction259(41),
+                       new ReduceAction260(41),
+                       new ReduceAction261(41),
+                       new ReduceAction262(41),
                        new ReduceAction263(42),
                        new ReduceAction264(42),
                        new ReduceAction265(42),
                        new ReduceAction266(42),
                        new ReduceAction267(42),
-                       new ReduceAction268(43),
-                       new ReduceAction269(43),
-                       new ReduceAction270(44),
-                       new ReduceAction271(44),
-                       new ReduceAction272(45),
-                       new ReduceAction273(45),
-                       new ReduceAction274(45),
-                       new ReduceAction275(45),
-                       new ReduceAction276(45),
+                       new ReduceAction268(42),
+                       new ReduceAction269(42),
+                       new ReduceAction270(42),
+                       new ReduceAction271(42),
+                       new ReduceAction272(42),
+                       new ReduceAction273(43),
+                       new ReduceAction274(43),
+                       new ReduceAction275(44),
+                       new ReduceAction276(44),
+                       new ReduceAction277(45),
+                       new ReduceAction278(45),
+                       new ReduceAction279(45),
+                       new ReduceAction280(45),
+                       new ReduceAction281(45),
                        new ReduceAction210(46),
                        new ReduceAction36(46),
-                       new ReduceAction279(47),
-                       new ReduceAction280(47),
-                       new ReduceAction281(48),
-                       new ReduceAction282(48),
-                       new ReduceAction283(49),
-                       new ReduceAction284(49),
-                       new ReduceAction285(50),
-                       new ReduceAction286(50),
-                       new ReduceAction287(50),
-                       new ReduceAction288(50),
-                       new ReduceAction289(51),
+                       new ReduceAction284(47),
+                       new ReduceAction285(47),
+                       new ReduceAction286(48),
+                       new ReduceAction287(48),
+                       new ReduceAction288(49),
+                       new ReduceAction289(49),
+                       new ReduceAction290(49),
+                       new ReduceAction291(49),
+                       new ReduceAction292(50),
+                       new ReduceAction293(50),
+                       new ReduceAction294(50),
+                       new ReduceAction295(50),
+                       new ReduceAction296(51),
                        new ReduceAction205(52),
                        new ReduceAction232(52),
                        new ReduceAction233(52),
-                       new ReduceAction293(52),
+                       new ReduceAction300(52),
                        new ReduceAction205(53),
-                       new ReduceAction295(53),
+                       new ReduceAction302(53),
                        new ReduceAction205(54),
-                       new ReduceAction297(54),
-                       new ReduceAction298(54),
-                       new ReduceAction299(54),
+                       new ReduceAction304(54),
+                       new ReduceAction305(54),
+                       new ReduceAction306(54),
                        new ReduceAction205(55),
-                       new ReduceAction301(55),
+                       new ReduceAction308(55),
                        new ReduceAction205(56),
-                       new ReduceAction303(56),
-                       new ReduceAction304(56),
-                       new ReduceAction305(56),
-                       new ReduceAction306(56),
-                       new ReduceAction307(56),
-                       new ReduceAction308(56),
-                       new ReduceAction309(56),
                        new ReduceAction310(56),
                        new ReduceAction311(56),
                        new ReduceAction312(56),
                        new ReduceAction313(56),
+                       new ReduceAction314(56),
+                       new ReduceAction315(56),
+                       new ReduceAction316(56),
+                       new ReduceAction317(56),
+                       new ReduceAction318(56),
+                       new ReduceAction319(56),
+                       new ReduceAction320(56),
                        new ReduceAction205(57),
-                       new ReduceAction315(57),
-                       new ReduceAction316(57),
+                       new ReduceAction322(57),
+                       new ReduceAction323(57),
                        new ReduceAction205(58),
-                       new ReduceAction318(58),
-                       new ReduceAction319(58),
-                       new ReduceAction320(58),
+                       new ReduceAction325(58),
+                       new ReduceAction326(58),
+                       new ReduceAction327(58),
                        new ReduceAction205(59),
-                       new ReduceAction322(59),
-                       new ReduceAction323(59),
+                       new ReduceAction329(59),
+                       new ReduceAction330(59),
                        new ReduceAction205(60),
-                       new ReduceAction325(60),
-                       new ReduceAction326(60),
-                       new ReduceAction327(60),
-                       new ReduceAction328(61),
-                       new ReduceAction329(61),
+                       new ReduceAction332(60),
+                       new ReduceAction333(60),
+                       new ReduceAction334(60),
+                       new ReduceAction335(61),
+                       new ReduceAction336(61),
                        new ReduceAction230(61),
                        new ReduceAction231(61),
                        new ReduceAction234(61),
                        new ReduceAction235(61),
                        new ReduceAction236(61),
                        new ReduceAction237(61),
-                       new ReduceAction336(61),
-                       new ReduceAction337(61),
-                       new ReduceAction338(61),
-                       new ReduceAction339(61),
-                       new ReduceAction340(61),
-                       new ReduceAction341(61),
-                       new ReduceAction342(61),
                        new ReduceAction343(61),
                        new ReduceAction344(61),
                        new ReduceAction345(61),
                        new ReduceAction346(61),
                        new ReduceAction347(61),
                        new ReduceAction348(61),
-                       new ReduceAction205(61),
-                       new ReduceAction202(61),
+                       new ReduceAction349(61),
+                       new ReduceAction350(61),
                        new ReduceAction351(61),
                        new ReduceAction352(61),
-                       new ReduceAction353(62),
-                       new ReduceAction354(62),
-                       new ReduceAction355(63),
-                       new ReduceAction356(64),
-                       new ReduceAction355(65),
-                       new ReduceAction358(66),
-                       new ReduceAction359(67),
-                       new ReduceAction360(68),
-                       new ReduceAction361(68),
+                       new ReduceAction353(61),
+                       new ReduceAction354(61),
+                       new ReduceAction355(61),
+                       new ReduceAction205(61),
+                       new ReduceAction202(61),
+                       new ReduceAction358(61),
+                       new ReduceAction359(61),
+                       new ReduceAction360(62),
+                       new ReduceAction361(62),
+                       new ReduceAction362(63),
+                       new ReduceAction363(64),
+                       new ReduceAction362(65),
+                       new ReduceAction365(66),
+                       new ReduceAction366(67),
+                       new ReduceAction367(68),
+                       new ReduceAction368(68),
                        new ReduceAction181(68),
-                       new ReduceAction363(68),
-                       new ReduceAction360(69),
-                       new ReduceAction361(69),
-                       new ReduceAction366(69),
+                       new ReduceAction370(68),
+                       new ReduceAction367(69),
+                       new ReduceAction368(69),
+                       new ReduceAction373(69),
                        new ReduceAction181(69),
-                       new ReduceAction363(69),
-                       new ReduceAction360(70),
-                       new ReduceAction361(70),
-                       new ReduceAction371(71),
-                       new ReduceAction372(72),
-                       new ReduceAction373(72),
-                       new ReduceAction374(73),
-                       new ReduceAction375(73),
-                       new ReduceAction376(74),
-                       new ReduceAction377(74),
-                       new ReduceAction378(74),
-                       new ReduceAction379(75),
-                       new ReduceAction380(76),
-                       new ReduceAction381(77),
-                       new ReduceAction381(77),
-                       new ReduceAction383(78),
-                       new ReduceAction384(78),
+                       new ReduceAction370(69),
+                       new ReduceAction367(70),
+                       new ReduceAction368(70),
+                       new ReduceAction378(71),
+                       new ReduceAction379(72),
+                       new ReduceAction380(72),
+                       new ReduceAction381(73),
+                       new ReduceAction382(73),
+                       new ReduceAction383(73),
+                       new ReduceAction384(73),
+                       new ReduceAction385(74),
+                       new ReduceAction386(74),
+                       new ReduceAction387(74),
+                       new ReduceAction388(75),
+                       new ReduceAction389(76),
+                       new ReduceAction390(77),
+                       new ReduceAction390(77),
+                       new ReduceAction392(78),
+                       new ReduceAction393(78),
                        new ReduceAction36(78),
-                       new ReduceAction386(79),
-                       new ReduceAction387(79),
-                       new ReduceAction388(80),
-                       new ReduceAction389(80),
-                       new ReduceAction381(80),
+                       new ReduceAction395(79),
+                       new ReduceAction396(79),
+                       new ReduceAction397(80),
+                       new ReduceAction398(80),
+                       new ReduceAction390(80),
                        new ReduceAction66(81),
                        new ReduceAction67(82),
                        new ReduceAction68(82),
@@ -562,60 +571,60 @@ special TablesCapable
                        new ReduceAction232(85),
                        new ReduceAction233(85),
                        new ReduceAction205(86),
-                       new ReduceAction295(86),
+                       new ReduceAction302(86),
                        new ReduceAction205(87),
-                       new ReduceAction297(87),
-                       new ReduceAction298(87),
-                       new ReduceAction299(87),
+                       new ReduceAction304(87),
+                       new ReduceAction305(87),
+                       new ReduceAction306(87),
                        new ReduceAction205(88),
-                       new ReduceAction301(88),
+                       new ReduceAction308(88),
                        new ReduceAction205(89),
-                       new ReduceAction303(89),
-                       new ReduceAction304(89),
-                       new ReduceAction305(89),
-                       new ReduceAction306(89),
-                       new ReduceAction307(89),
-                       new ReduceAction308(89),
-                       new ReduceAction309(89),
                        new ReduceAction310(89),
                        new ReduceAction311(89),
                        new ReduceAction312(89),
                        new ReduceAction313(89),
+                       new ReduceAction314(89),
+                       new ReduceAction315(89),
+                       new ReduceAction316(89),
+                       new ReduceAction317(89),
+                       new ReduceAction318(89),
+                       new ReduceAction319(89),
+                       new ReduceAction320(89),
                        new ReduceAction205(90),
-                       new ReduceAction315(90),
-                       new ReduceAction316(90),
+                       new ReduceAction322(90),
+                       new ReduceAction323(90),
                        new ReduceAction205(91),
-                       new ReduceAction318(91),
-                       new ReduceAction319(91),
-                       new ReduceAction320(91),
+                       new ReduceAction325(91),
+                       new ReduceAction326(91),
+                       new ReduceAction327(91),
                        new ReduceAction205(92),
-                       new ReduceAction322(92),
-                       new ReduceAction323(92),
+                       new ReduceAction329(92),
+                       new ReduceAction330(92),
                        new ReduceAction205(93),
-                       new ReduceAction325(93),
-                       new ReduceAction326(93),
-                       new ReduceAction327(93),
-                       new ReduceAction328(94),
-                       new ReduceAction329(94),
+                       new ReduceAction332(93),
+                       new ReduceAction333(93),
+                       new ReduceAction334(93),
+                       new ReduceAction335(94),
+                       new ReduceAction336(94),
                        new ReduceAction230(94),
                        new ReduceAction231(94),
                        new ReduceAction234(94),
                        new ReduceAction235(94),
                        new ReduceAction236(94),
                        new ReduceAction237(94),
-                       new ReduceAction337(94),
-                       new ReduceAction341(94),
-                       new ReduceAction342(94),
-                       new ReduceAction343(94),
                        new ReduceAction344(94),
-                       new ReduceAction345(94),
-                       new ReduceAction346(94),
-                       new ReduceAction347(94),
                        new ReduceAction348(94),
-                       new ReduceAction205(94),
-                       new ReduceAction202(94),
+                       new ReduceAction349(94),
+                       new ReduceAction350(94),
                        new ReduceAction351(94),
                        new ReduceAction352(94),
+                       new ReduceAction353(94),
+                       new ReduceAction354(94),
+                       new ReduceAction355(94),
+                       new ReduceAction205(94),
+                       new ReduceAction202(94),
+                       new ReduceAction358(94),
+                       new ReduceAction359(94),
                        new ReduceAction202(95),
                        new ReduceAction203(95),
                        new ReduceAction204(95),
@@ -655,36 +664,41 @@ special TablesCapable
                        new ReduceAction244(98),
                        new ReduceAction245(98),
                        new ReduceAction246(98),
-                       new ReduceAction253(99),
-                       new ReduceAction254(100),
-                       new ReduceAction255(100),
-                       new ReduceAction256(100),
-                       new ReduceAction257(100),
-                       new ReduceAction258(101),
-                       new ReduceAction259(101),
-                       new ReduceAction260(101),
-                       new ReduceAction261(101),
-                       new ReduceAction262(101),
+                       new ReduceAction247(98),
+                       new ReduceAction248(98),
+                       new ReduceAction249(98),
+                       new ReduceAction258(99),
+                       new ReduceAction259(100),
+                       new ReduceAction260(100),
+                       new ReduceAction261(100),
+                       new ReduceAction262(100),
                        new ReduceAction263(101),
                        new ReduceAction264(101),
                        new ReduceAction265(101),
                        new ReduceAction266(101),
                        new ReduceAction267(101),
-                       new ReduceAction270(102),
-                       new ReduceAction271(102),
-                       new ReduceAction272(103),
-                       new ReduceAction279(104),
-                       new ReduceAction280(104),
-                       new ReduceAction281(105),
-                       new ReduceAction282(105),
-                       new ReduceAction283(106),
-                       new ReduceAction284(106),
-                       new ReduceAction285(107),
-                       new ReduceAction286(107),
+                       new ReduceAction268(101),
+                       new ReduceAction269(101),
+                       new ReduceAction270(101),
+                       new ReduceAction271(101),
+                       new ReduceAction272(101),
+                       new ReduceAction275(102),
+                       new ReduceAction276(102),
+                       new ReduceAction277(103),
+                       new ReduceAction284(104),
+                       new ReduceAction285(104),
+                       new ReduceAction286(105),
+                       new ReduceAction287(105),
+                       new ReduceAction288(106),
+                       new ReduceAction289(106),
+                       new ReduceAction290(106),
+                       new ReduceAction291(106),
+                       new ReduceAction292(107),
+                       new ReduceAction293(107),
                        new ReduceAction205(108),
                        new ReduceAction232(108),
                        new ReduceAction233(108),
-                       new ReduceAction293(108),
+                       new ReduceAction300(108),
                        new ReduceAction205(109),
                        new ReduceAction232(109),
                        new ReduceAction233(109),
@@ -698,151 +712,151 @@ special TablesCapable
                        new ReduceAction232(112),
                        new ReduceAction233(112),
                        new ReduceAction205(113),
-                       new ReduceAction295(113),
+                       new ReduceAction302(113),
                        new ReduceAction205(114),
-                       new ReduceAction297(114),
-                       new ReduceAction298(114),
-                       new ReduceAction299(114),
+                       new ReduceAction304(114),
+                       new ReduceAction305(114),
+                       new ReduceAction306(114),
                        new ReduceAction205(115),
-                       new ReduceAction301(115),
+                       new ReduceAction308(115),
                        new ReduceAction205(116),
-                       new ReduceAction303(116),
-                       new ReduceAction304(116),
-                       new ReduceAction305(116),
-                       new ReduceAction306(116),
-                       new ReduceAction307(116),
-                       new ReduceAction308(116),
-                       new ReduceAction309(116),
                        new ReduceAction310(116),
                        new ReduceAction311(116),
                        new ReduceAction312(116),
                        new ReduceAction313(116),
+                       new ReduceAction314(116),
+                       new ReduceAction315(116),
+                       new ReduceAction316(116),
+                       new ReduceAction317(116),
+                       new ReduceAction318(116),
+                       new ReduceAction319(116),
+                       new ReduceAction320(116),
                        new ReduceAction205(117),
-                       new ReduceAction315(117),
-                       new ReduceAction316(117),
+                       new ReduceAction322(117),
+                       new ReduceAction323(117),
                        new ReduceAction205(118),
-                       new ReduceAction318(118),
-                       new ReduceAction319(118),
-                       new ReduceAction320(118),
+                       new ReduceAction325(118),
+                       new ReduceAction326(118),
+                       new ReduceAction327(118),
                        new ReduceAction205(119),
-                       new ReduceAction322(119),
-                       new ReduceAction323(119),
+                       new ReduceAction329(119),
+                       new ReduceAction330(119),
                        new ReduceAction205(120),
-                       new ReduceAction325(120),
-                       new ReduceAction326(120),
-                       new ReduceAction327(120),
-                       new ReduceAction328(121),
-                       new ReduceAction329(121),
+                       new ReduceAction332(120),
+                       new ReduceAction333(120),
+                       new ReduceAction334(120),
+                       new ReduceAction335(121),
+                       new ReduceAction336(121),
                        new ReduceAction230(121),
                        new ReduceAction231(121),
                        new ReduceAction234(121),
                        new ReduceAction235(121),
                        new ReduceAction236(121),
                        new ReduceAction237(121),
-                       new ReduceAction336(121),
-                       new ReduceAction337(121),
-                       new ReduceAction341(121),
-                       new ReduceAction342(121),
                        new ReduceAction343(121),
                        new ReduceAction344(121),
-                       new ReduceAction345(121),
-                       new ReduceAction346(121),
-                       new ReduceAction347(121),
                        new ReduceAction348(121),
-                       new ReduceAction205(121),
+                       new ReduceAction349(121),
+                       new ReduceAction350(121),
                        new ReduceAction351(121),
                        new ReduceAction352(121),
+                       new ReduceAction353(121),
+                       new ReduceAction354(121),
+                       new ReduceAction355(121),
+                       new ReduceAction205(121),
+                       new ReduceAction358(121),
+                       new ReduceAction359(121),
                        new ReduceAction205(122),
                        new ReduceAction232(122),
                        new ReduceAction233(122),
                        new ReduceAction205(123),
-                       new ReduceAction295(123),
+                       new ReduceAction302(123),
                        new ReduceAction205(124),
-                       new ReduceAction297(124),
-                       new ReduceAction298(124),
-                       new ReduceAction299(124),
+                       new ReduceAction304(124),
+                       new ReduceAction305(124),
+                       new ReduceAction306(124),
                        new ReduceAction205(125),
-                       new ReduceAction301(125),
+                       new ReduceAction308(125),
                        new ReduceAction205(126),
-                       new ReduceAction303(126),
-                       new ReduceAction304(126),
-                       new ReduceAction305(126),
-                       new ReduceAction306(126),
-                       new ReduceAction307(126),
-                       new ReduceAction308(126),
-                       new ReduceAction309(126),
                        new ReduceAction310(126),
                        new ReduceAction311(126),
                        new ReduceAction312(126),
                        new ReduceAction313(126),
+                       new ReduceAction314(126),
+                       new ReduceAction315(126),
+                       new ReduceAction316(126),
+                       new ReduceAction317(126),
+                       new ReduceAction318(126),
+                       new ReduceAction319(126),
+                       new ReduceAction320(126),
                        new ReduceAction205(127),
-                       new ReduceAction315(127),
-                       new ReduceAction316(127),
+                       new ReduceAction322(127),
+                       new ReduceAction323(127),
                        new ReduceAction205(128),
-                       new ReduceAction318(128),
-                       new ReduceAction319(128),
-                       new ReduceAction320(128),
+                       new ReduceAction325(128),
+                       new ReduceAction326(128),
+                       new ReduceAction327(128),
                        new ReduceAction205(129),
-                       new ReduceAction322(129),
-                       new ReduceAction323(129),
+                       new ReduceAction329(129),
+                       new ReduceAction330(129),
                        new ReduceAction205(130),
-                       new ReduceAction325(130),
-                       new ReduceAction637(130),
-                       new ReduceAction638(131),
-                       new ReduceAction639(131),
+                       new ReduceAction332(130),
+                       new ReduceAction651(130),
+                       new ReduceAction652(131),
+                       new ReduceAction653(131),
                        new ReduceAction234(131),
                        new ReduceAction235(131),
-                       new ReduceAction642(131),
-                       new ReduceAction337(131),
-                       new ReduceAction341(131),
-                       new ReduceAction342(131),
-                       new ReduceAction343(131),
+                       new ReduceAction656(131),
                        new ReduceAction344(131),
-                       new ReduceAction345(131),
-                       new ReduceAction346(131),
-                       new ReduceAction347(131),
                        new ReduceAction348(131),
-                       new ReduceAction205(131),
+                       new ReduceAction349(131),
+                       new ReduceAction350(131),
                        new ReduceAction351(131),
                        new ReduceAction352(131),
-                       new ReduceAction655(132),
-                       new ReduceAction656(132),
+                       new ReduceAction353(131),
+                       new ReduceAction354(131),
+                       new ReduceAction355(131),
+                       new ReduceAction205(131),
+                       new ReduceAction358(131),
+                       new ReduceAction359(131),
+                       new ReduceAction669(132),
+                       new ReduceAction670(132),
                        new ReduceAction205(133),
                        new ReduceAction232(133),
                        new ReduceAction233(133),
                        new ReduceAction205(134),
                        new ReduceAction232(134),
                        new ReduceAction233(134),
-                       new ReduceAction663(135),
-                       new ReduceAction664(135),
-                       new ReduceAction665(136),
-                       new ReduceAction666(136),
-                       new ReduceAction667(137),
-                       new ReduceAction668(137),
-                       new ReduceAction669(138),
-                       new ReduceAction670(138),
-                       new ReduceAction667(139),
-                       new ReduceAction668(139),
-                       new ReduceAction673(140),
-                       new ReduceAction674(140),
-                       new ReduceAction675(141),
-                       new ReduceAction676(141),
-                       new ReduceAction677(142),
-                       new ReduceAction678(142),
+                       new ReduceAction677(135),
+                       new ReduceAction678(135),
+                       new ReduceAction679(136),
+                       new ReduceAction680(136),
+                       new ReduceAction681(137),
+                       new ReduceAction682(137),
+                       new ReduceAction683(138),
+                       new ReduceAction684(138),
+                       new ReduceAction681(139),
+                       new ReduceAction682(139),
+                       new ReduceAction687(140),
+                       new ReduceAction688(140),
+                       new ReduceAction689(141),
+                       new ReduceAction690(141),
+                       new ReduceAction691(142),
+                       new ReduceAction692(142),
                        new ReduceAction198(143),
-                       new ReduceAction680(143),
-                       new ReduceAction366(144),
-                       new ReduceAction682(144),
-                       new ReduceAction373(145),
-                       new ReduceAction684(145),
-                       new ReduceAction366(146),
-                       new ReduceAction682(146),
-                       new ReduceAction374(147),
-                       new ReduceAction688(147),
-                       new ReduceAction689(148),
-                       new ReduceAction690(148),
-                       new ReduceAction691(149),
-                       new ReduceAction692(149)
+                       new ReduceAction694(143),
+                       new ReduceAction373(144),
+                       new ReduceAction696(144),
+                       new ReduceAction697(145),
+                       new ReduceAction698(145),
+                       new ReduceAction373(146),
+                       new ReduceAction696(146),
+                       new ReduceAction379(147),
+                       new ReduceAction702(147),
+                       new ReduceAction703(148),
+                       new ReduceAction704(148),
+                       new ReduceAction705(149),
+                       new ReduceAction706(149)
                )
        end
 end
@@ -860,7 +874,7 @@ end
 # Find location of production nodes
 # Uses existing token locations to infer location of productions.
 private class ComputeProdLocationVisitor
-special Visitor
+       super Visitor
        # Currenlty visited productions that need a first token
        var _need_first_prods: Array[Prod] = new Array[Prod]
 
@@ -953,10 +967,12 @@ private abstract class ReduceAction
                l1.append(l2)
                return l1
        end
+       var _goto: Int
+       init(g: Int) do _goto = g
 end
 
 private class ReduceAction0
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -970,11 +986,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction1
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -991,11 +1005,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction2
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1013,11 +1025,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction3
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1038,11 +1048,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction4
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1060,11 +1068,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction5
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1085,11 +1091,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction6
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1111,11 +1115,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction7
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1140,11 +1142,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction8
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1169,11 +1169,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction9
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1201,11 +1199,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction10
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1234,11 +1230,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction11
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1270,11 +1264,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction12
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1303,11 +1295,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction13
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1339,11 +1329,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction14
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1376,11 +1364,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction15
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1416,11 +1402,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction16
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1440,11 +1424,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction17
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1467,11 +1449,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction18
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1495,11 +1475,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction19
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1526,11 +1504,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction20
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1554,11 +1530,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction21
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1585,11 +1559,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction22
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1617,11 +1589,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction23
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1652,11 +1622,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction24
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1687,11 +1655,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction25
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1725,11 +1691,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction26
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1764,11 +1728,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction27
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1806,11 +1768,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction28
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1845,11 +1805,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction29
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1887,11 +1845,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction30
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1930,11 +1886,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction31
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1976,11 +1930,9 @@ special ReduceAction
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction32
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1993,21 +1945,19 @@ special ReduceAction
                                        assert pdocnode2 isa nullable ADoc
                                        var tkwmodulenode3 = nodearraylist2
                                        assert tkwmodulenode3 isa nullable TKwmodule
-                                       var tidnode4 = nodearraylist4
-                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode4 = nodearraylist4
+                                       assert pmodulenamenode4 isa nullable AModuleName
                                        var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
                                                pdocnode2,
                                                tkwmodulenode3,
-                                               tidnode4
+                                               pmodulenamenode4
                                        )
                                        node_list = pmoduledeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction33
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2021,21 +1971,19 @@ special ReduceAction
                                        assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
-                                       var tidnode4 = nodearraylist5
-                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode4 = nodearraylist5
+                                       assert pmodulenamenode4 isa nullable AModuleName
                                        var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
                                                pvisibilitynode2,
                                                tkwimportnode3,
-                                               tidnode4
+                                               pmodulenamenode4
                                        )
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction34
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2059,11 +2007,9 @@ special ReduceAction
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction35
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2080,11 +2026,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction36
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2092,11 +2036,9 @@ special ReduceAction
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction37
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2111,11 +2053,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction39
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2150,11 +2090,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction40
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2192,11 +2130,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction41
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2235,11 +2171,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction42
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2281,11 +2215,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction43
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2324,11 +2256,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction44
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2370,11 +2300,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction45
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2417,11 +2345,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction46
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2467,11 +2393,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction47
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2510,11 +2434,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction48
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2556,11 +2478,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction49
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2603,11 +2523,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction50
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2653,11 +2571,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction51
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2700,11 +2616,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction52
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2750,11 +2664,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction53
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2801,11 +2713,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction54
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2855,11 +2765,9 @@ special ReduceAction
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction55
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2872,11 +2780,9 @@ special ReduceAction
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction56
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2893,11 +2799,9 @@ special ReduceAction
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction57
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2910,28 +2814,24 @@ special ReduceAction
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction58
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var tkwuniversalnode2 = nodearraylist1
-                                       assert tkwuniversalnode2 isa nullable TKwuniversal
-                                       var pclasskindnode1: nullable AUniversalClasskind = new AUniversalClasskind.init_auniversalclasskind(
-                                               tkwuniversalnode2
+                                       var tkwenumnode2 = nodearraylist1
+                                       assert tkwenumnode2 isa nullable TKwenum
+                                       var pclasskindnode1: nullable AEnumClasskind = new AEnumClasskind.init_aenumclasskind(
+                                               tkwenumnode2
                                        )
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction59
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2948,11 +2848,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction60
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2973,11 +2871,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction61
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2988,11 +2884,9 @@ special ReduceAction
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction62
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3006,11 +2900,9 @@ special ReduceAction
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction63
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3027,11 +2919,9 @@ special ReduceAction
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction64
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3051,11 +2941,9 @@ special ReduceAction
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction65
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3075,11 +2963,9 @@ special ReduceAction
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction66
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3089,11 +2975,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction67
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3128,11 +3012,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction68
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3170,11 +3052,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction69
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3210,11 +3090,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction70
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3253,11 +3131,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction71
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3293,11 +3169,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction72
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3336,11 +3210,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction73
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3372,11 +3244,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction74
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3411,11 +3281,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction75
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3447,11 +3315,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction76
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3486,11 +3352,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction77
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3523,11 +3387,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction78
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3563,11 +3425,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction79
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3603,11 +3463,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction80
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3646,11 +3504,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction81
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3681,11 +3537,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction82
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3719,11 +3573,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction83
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3757,11 +3609,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction84
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3798,11 +3648,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction85
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3836,11 +3684,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction86
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3877,11 +3723,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction87
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3918,11 +3762,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction88
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3962,11 +3804,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction89
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4000,11 +3840,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction90
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4041,11 +3879,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction91
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4082,11 +3918,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction92
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4126,11 +3960,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction93
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4167,11 +3999,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction94
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4211,11 +4041,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction95
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4255,11 +4083,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction96
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4302,11 +4128,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction97
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4342,11 +4166,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction98
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4385,11 +4207,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction99
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4428,11 +4248,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction100
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4474,11 +4292,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction101
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4517,11 +4333,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction102
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4563,11 +4377,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction103
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4609,11 +4421,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction104
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4658,11 +4468,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction105
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4701,11 +4509,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction106
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4747,11 +4553,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction107
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4793,11 +4597,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction108
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4842,11 +4644,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction109
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4888,11 +4688,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction110
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4937,11 +4735,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction111
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4986,11 +4782,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction112
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5038,11 +4832,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction113
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5073,11 +4865,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction114
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5111,11 +4901,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction115
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5149,11 +4937,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction116
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5190,11 +4976,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction117
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5228,11 +5012,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction118
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5269,11 +5051,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction119
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5310,11 +5090,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction120
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5354,11 +5132,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction121
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5394,11 +5170,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction122
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5437,11 +5211,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction123
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5480,11 +5252,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction124
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5526,11 +5296,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction125
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5569,11 +5337,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction126
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5615,11 +5381,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction127
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5661,11 +5425,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction128
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5710,11 +5472,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction129
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5746,11 +5506,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction130
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5785,11 +5543,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction131
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5824,11 +5580,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction132
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5866,11 +5620,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction133
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5903,11 +5655,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction134
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5943,11 +5693,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction135
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5983,11 +5731,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction136
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6026,11 +5772,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction137
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6060,11 +5804,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction138
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6097,11 +5839,9 @@ special ReduceAction
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction139
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6115,11 +5855,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction140
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6136,11 +5874,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction141
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6155,11 +5891,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction142
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6177,11 +5911,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction143
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6199,11 +5931,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction144
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6224,11 +5954,9 @@ special ReduceAction
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction145
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6237,11 +5965,9 @@ special ReduceAction
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction146
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6255,11 +5981,9 @@ special ReduceAction
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction147
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6273,11 +5997,9 @@ special ReduceAction
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction148
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6291,11 +6013,9 @@ special ReduceAction
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction149
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6308,11 +6028,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction150
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6325,11 +6043,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction151
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6342,11 +6058,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction152
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6359,11 +6073,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction153
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6376,11 +6088,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction154
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6393,11 +6103,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction155
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6410,11 +6118,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction156
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6427,11 +6133,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction157
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6444,11 +6148,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction158
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6461,11 +6163,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction159
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6478,11 +6178,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction160
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6495,11 +6193,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction161
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6512,11 +6208,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction162
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6529,11 +6223,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction163
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6550,11 +6242,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction164
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6567,11 +6257,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction165
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6588,11 +6276,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction166
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6613,11 +6299,9 @@ special ReduceAction
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction167
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6638,11 +6322,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction168
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6667,11 +6349,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction169
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6689,11 +6369,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction170
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6715,11 +6393,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction171
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6737,11 +6413,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction172
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6763,11 +6437,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction173
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6782,11 +6454,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction174
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6805,11 +6475,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction175
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6823,11 +6491,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction176
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6845,11 +6511,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction177
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6866,11 +6530,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction178
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6891,11 +6553,9 @@ special ReduceAction
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction179
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6912,11 +6572,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction180
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6937,11 +6595,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction181
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6952,11 +6608,9 @@ special ReduceAction
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction182
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6967,11 +6621,9 @@ special ReduceAction
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction183
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6986,11 +6638,9 @@ special ReduceAction
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction184
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7008,11 +6658,9 @@ special ReduceAction
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction185
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7033,11 +6681,9 @@ special ReduceAction
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction186
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7050,11 +6696,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction187
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7078,11 +6722,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction188
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7109,11 +6751,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction189
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7141,11 +6781,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction190
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7176,11 +6814,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction191
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7209,11 +6845,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction192
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7245,11 +6879,9 @@ special ReduceAction
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction193
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7263,11 +6895,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction194
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7283,11 +6913,9 @@ special ReduceAction
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction195
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7306,11 +6934,9 @@ special ReduceAction
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction196
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7334,11 +6960,9 @@ special ReduceAction
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction197
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7365,11 +6989,9 @@ special ReduceAction
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction198
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7382,11 +7004,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction199
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7403,11 +7023,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction200
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7418,11 +7036,9 @@ special ReduceAction
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction202
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7433,11 +7049,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction203
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7450,11 +7064,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction204
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7466,11 +7078,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction205
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7479,11 +7089,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction206
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7500,11 +7108,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction207
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7525,11 +7131,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction208
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7547,11 +7151,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction209
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7573,11 +7175,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction210
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7587,11 +7187,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction213
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7605,11 +7203,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction214
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7626,11 +7222,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction215
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7645,11 +7239,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction216
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7667,11 +7259,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction217
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7689,11 +7279,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction218
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7714,11 +7302,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction219
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7731,11 +7317,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction220
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7750,11 +7334,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction221
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7772,11 +7354,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction222
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7794,11 +7374,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction223
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7819,11 +7397,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction230
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7850,11 +7426,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction231
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7878,11 +7452,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction232
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7913,11 +7485,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction233
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7945,11 +7515,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction234
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7969,11 +7537,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction235
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7996,11 +7562,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction236
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8025,11 +7589,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction237
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8051,11 +7613,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction238
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8072,11 +7632,9 @@ special ReduceAction
                                        node_list = plabelnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction239
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8089,11 +7647,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction240
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8110,11 +7666,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction241
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8145,14 +7699,14 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction242
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
@@ -8164,14 +7718,14 @@ special ReduceAction
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
+                                       var listnode4 = nodearraylist4
                                        assert listnode4 isa Array[Object]
                                        listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
+                                       var tkwdonode6 = nodearraylist6
                                        assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist5
+                                       var pexprnode7 = nodearraylist7
                                        assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist6
+                                       var plabelnode8 = nodearraylist8
                                        assert plabelnode8 isa nullable ALabel
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tbangnode2,
@@ -8184,43 +7738,112 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction243
-special ReduceAction
+       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 listnode4 = new Array[Object]
+                                       var listnode5 = new Array[Object]
                                        var tbangnode2 = nodearraylist1
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               null
-                                       )
+                                       var listnode4 = nodearraylist3
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist4
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist5
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist6
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
+                                       )
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction244
-special ReduceAction
+       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 tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var tkwdonode5 = nodearraylist3
+                                       assert tkwdonode5 isa nullable TKwdo
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode4,
+                                               tkwdonode5,
+                                               pexprnode6,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction245
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction246
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8252,11 +7875,9 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction245
-special ReduceAction
+private class ReduceAction247
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8283,11 +7904,44 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction246
-special ReduceAction
+private class ReduceAction248
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               null,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction249
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8318,11 +7972,9 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction247
-special ReduceAction
+private class ReduceAction250
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8351,11 +8003,46 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction248
-special ReduceAction
+private class ReduceAction251
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction252
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8388,11 +8075,9 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction249
-special ReduceAction
+private class ReduceAction253
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8418,11 +8103,43 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction250
-special ReduceAction
+private class ReduceAction254
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               null,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction255
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8452,11 +8169,9 @@ special ReduceAction
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction251
-special ReduceAction
+private class ReduceAction256
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8469,11 +8184,9 @@ special ReduceAction
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction252
-special ReduceAction
+private class ReduceAction257
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8486,11 +8199,9 @@ special ReduceAction
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction253
-special ReduceAction
+private class ReduceAction258
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8505,11 +8216,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction254
-special ReduceAction
+private class ReduceAction259
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8529,11 +8238,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction255
-special ReduceAction
+private class ReduceAction260
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8556,11 +8263,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction256
-special ReduceAction
+private class ReduceAction261
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8587,11 +8292,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction257
-special ReduceAction
+private class ReduceAction262
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8621,11 +8324,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction258
-special ReduceAction
+private class ReduceAction263
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8652,11 +8353,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction259
-special ReduceAction
+private class ReduceAction264
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8680,11 +8379,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction260
-special ReduceAction
+private class ReduceAction265
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8717,11 +8414,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction261
-special ReduceAction
+private class ReduceAction266
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8751,11 +8446,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction262
-special ReduceAction
+private class ReduceAction267
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8782,11 +8475,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction263
-special ReduceAction
+private class ReduceAction268
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8813,11 +8504,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction264
-special ReduceAction
+private class ReduceAction269
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8841,11 +8530,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction265
-special ReduceAction
+private class ReduceAction270
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8878,11 +8565,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction266
-special ReduceAction
+private class ReduceAction271
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8912,11 +8597,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction267
-special ReduceAction
+private class ReduceAction272
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8943,11 +8626,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction268
-special ReduceAction
+private class ReduceAction273
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8960,11 +8641,9 @@ special ReduceAction
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction269
-special ReduceAction
+private class ReduceAction274
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8977,11 +8656,9 @@ special ReduceAction
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction270
-special ReduceAction
+private class ReduceAction275
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9002,11 +8679,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction271
-special ReduceAction
+private class ReduceAction276
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9024,11 +8699,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction272
-special ReduceAction
+private class ReduceAction277
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9057,11 +8730,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction273
-special ReduceAction
+private class ReduceAction278
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9086,11 +8757,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction274
-special ReduceAction
+private class ReduceAction279
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9119,11 +8788,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction275
-special ReduceAction
+private class ReduceAction280
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9148,11 +8815,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction276
-special ReduceAction
+private class ReduceAction281
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9178,11 +8843,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction279
-special ReduceAction
+private class ReduceAction284
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9203,11 +8866,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction280
-special ReduceAction
+private class ReduceAction285
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9225,11 +8886,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction281
-special ReduceAction
+private class ReduceAction286
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9260,11 +8919,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction282
-special ReduceAction
+private class ReduceAction287
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9274,32 +8931,117 @@ special ReduceAction
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwwhilenode2 = nodearraylist1
-                                       assert tkwwhilenode2 isa nullable TKwwhile
-                                       var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable AExpr
-                                       var tkwdonode4 = nodearraylist5
-                                       assert tkwdonode4 isa nullable TKwdo
-                                       var pexprnode5 = nodearraylist6
+                                       var tkwwhilenode2 = nodearraylist1
+                                       assert tkwwhilenode2 isa nullable TKwwhile
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwdonode4 = nodearraylist5
+                                       assert tkwdonode4 isa nullable TKwdo
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
+                                               tkwwhilenode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction288
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist13 = p.pop
+                                       var nodearraylist12 = p.pop
+                                       var nodearraylist11 = p.pop
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist13
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction289
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist11 = p.pop
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
                                        assert pexprnode5 isa nullable AExpr
-                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
-                                               tkwwhilenode2,
-                                               pexprnode3,
-                                               tkwdonode4,
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist11
+                                       assert plabelnode8 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
                                                pexprnode5,
-                                               null
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction283
-special ReduceAction
+private class ReduceAction290
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist12 = p.pop
                                        var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
@@ -9311,34 +9053,32 @@ special ReduceAction
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
-                                       var plabelnode7 = nodearraylist11
-                                       assert plabelnode7 isa nullable ALabel
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               plabelnode7
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction284
-special ReduceAction
+private class ReduceAction291
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9352,32 +9092,32 @@ special ReduceAction
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction285
-special ReduceAction
+private class ReduceAction292
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9400,11 +9140,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction286
-special ReduceAction
+private class ReduceAction293
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9430,11 +9168,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction287
-special ReduceAction
+private class ReduceAction294
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9453,11 +9189,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction288
-special ReduceAction
+private class ReduceAction295
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9479,11 +9213,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction289
-special ReduceAction
+private class ReduceAction296
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9493,11 +9225,9 @@ special ReduceAction
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction293
-special ReduceAction
+private class ReduceAction300
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9522,11 +9252,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction295
-special ReduceAction
+private class ReduceAction302
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9564,11 +9292,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction297
-special ReduceAction
+private class ReduceAction304
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9587,11 +9313,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction298
-special ReduceAction
+private class ReduceAction305
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9610,11 +9334,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction299
-special ReduceAction
+private class ReduceAction306
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9634,11 +9356,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction301
-special ReduceAction
+private class ReduceAction308
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9656,11 +9376,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction303
-special ReduceAction
+private class ReduceAction310
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9679,11 +9397,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction304
-special ReduceAction
+private class ReduceAction311
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9702,11 +9418,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction305
-special ReduceAction
+private class ReduceAction312
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9725,11 +9439,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction306
-special ReduceAction
+private class ReduceAction313
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9748,11 +9460,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction307
-special ReduceAction
+private class ReduceAction314
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9771,11 +9481,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction308
-special ReduceAction
+private class ReduceAction315
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9794,11 +9502,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction309
-special ReduceAction
+private class ReduceAction316
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9817,11 +9523,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction310
-special ReduceAction
+private class ReduceAction317
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9840,11 +9544,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction311
-special ReduceAction
+private class ReduceAction318
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9863,11 +9565,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction312
-special ReduceAction
+private class ReduceAction319
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9886,11 +9586,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction313
-special ReduceAction
+private class ReduceAction320
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9909,11 +9607,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction315
-special ReduceAction
+private class ReduceAction322
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9932,11 +9628,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction316
-special ReduceAction
+private class ReduceAction323
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9955,11 +9649,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction318
-special ReduceAction
+private class ReduceAction325
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9978,11 +9670,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction319
-special ReduceAction
+private class ReduceAction326
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10001,11 +9691,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction320
-special ReduceAction
+private class ReduceAction327
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10024,11 +9712,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction322
-special ReduceAction
+private class ReduceAction329
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10046,11 +9732,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction323
-special ReduceAction
+private class ReduceAction330
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10068,11 +9752,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction325
-special ReduceAction
+private class ReduceAction332
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10097,11 +9779,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction326
-special ReduceAction
+private class ReduceAction333
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10124,11 +9804,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction327
-special ReduceAction
+private class ReduceAction334
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10148,11 +9826,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction328
-special ReduceAction
+private class ReduceAction335
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10171,11 +9847,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction329
-special ReduceAction
+private class ReduceAction336
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10191,11 +9865,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction336
-special ReduceAction
+private class ReduceAction343
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10216,11 +9888,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction337
-special ReduceAction
+private class ReduceAction344
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10250,11 +9920,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction338
-special ReduceAction
+private class ReduceAction345
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10278,11 +9946,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction339
-special ReduceAction
+private class ReduceAction346
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10306,11 +9972,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction340
-special ReduceAction
+private class ReduceAction347
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10325,11 +9989,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction341
-special ReduceAction
+private class ReduceAction348
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10342,11 +10004,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction342
-special ReduceAction
+private class ReduceAction349
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10359,11 +10019,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction343
-special ReduceAction
+private class ReduceAction350
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10376,11 +10034,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction344
-special ReduceAction
+private class ReduceAction351
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10393,11 +10049,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction345
-special ReduceAction
+private class ReduceAction352
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10410,11 +10064,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction346
-special ReduceAction
+private class ReduceAction353
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10427,11 +10079,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction347
-special ReduceAction
+private class ReduceAction354
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10444,11 +10094,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction348
-special ReduceAction
+private class ReduceAction355
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10461,11 +10109,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction351
-special ReduceAction
+private class ReduceAction358
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10493,11 +10139,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction352
-special ReduceAction
+private class ReduceAction359
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10530,11 +10174,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction353
-special ReduceAction
+private class ReduceAction360
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10555,11 +10197,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction354
-special ReduceAction
+private class ReduceAction361
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10583,12 +10223,10 @@ special ReduceAction
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
+       end
 end
-private class ReduceAction355
-special ReduceAction
+private class ReduceAction362
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10608,11 +10246,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction356
-special ReduceAction
+private class ReduceAction363
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10625,11 +10261,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction358
-special ReduceAction
+private class ReduceAction365
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10642,11 +10276,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction359
-special ReduceAction
+private class ReduceAction366
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10659,11 +10291,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction360
-special ReduceAction
+private class ReduceAction367
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10680,11 +10310,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction361
-special ReduceAction
+private class ReduceAction368
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10705,11 +10333,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction363
-special ReduceAction
+private class ReduceAction370
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10717,11 +10343,9 @@ special ReduceAction
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction366
-special ReduceAction
+private class ReduceAction373
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10734,11 +10358,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction371
-special ReduceAction
+private class ReduceAction378
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10750,86 +10372,134 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction372
-special ReduceAction
+private class ReduceAction379
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist2
-                                       assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
+                                       var tidnode1 = nodearraylist1
+                                       if tidnode1 != null then
+                                               listnode2.add(tidnode1)
+                                       end
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction373
-special ReduceAction
+private class ReduceAction380
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
+                                       var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
+                                       var tidnode2 = nodearraylist5
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if tidnode2 != null then
+                                               listnode3.add(tidnode2)
+                                       end
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction374
-special ReduceAction
+private class ReduceAction381
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var tidnode1 = nodearraylist1
-                                       if tidnode1 != null then
-                                               listnode2.add(tidnode1)
-                                       end
-                                       node_list = listnode2
+                                       var listnode3 = new Array[Object]
+                                       var tidnode4 = nodearraylist1
+                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               null,
+                                               listnode3,
+                                               tidnode4
+                                       )
+                                       node_list = pmodulenamenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction375
-special ReduceAction
+private class ReduceAction382
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var listnode3 = nodearraylist1
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               null,
+                                               listnode4,
+                                               tidnode5
+                                       )
+                                       node_list = pmodulenamenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction383
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       var tidnode2 = nodearraylist5
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if tidnode2 != null then
-                                               listnode3.add(tidnode2)
-                                       end
-                                       node_list = listnode3
+                                       var tquadnode2 = nodearraylist1
+                                       assert tquadnode2 isa nullable TQuad
+                                       var tidnode4 = nodearraylist3
+                                       assert tidnode4 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               tquadnode2,
+                                               listnode3,
+                                               tidnode4
+                                       )
+                                       node_list = pmodulenamenode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction384
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tquadnode2 = nodearraylist1
+                                       assert tquadnode2 isa nullable TQuad
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
+                                               tquadnode2,
+                                               listnode4,
+                                               tidnode5
+                                       )
+                                       node_list = pmodulenamenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction376
-special ReduceAction
+private class ReduceAction385
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10844,11 +10514,9 @@ special ReduceAction
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction377
-special ReduceAction
+private class ReduceAction386
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10867,11 +10535,9 @@ special ReduceAction
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction378
-special ReduceAction
+private class ReduceAction387
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10887,11 +10553,9 @@ special ReduceAction
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction379
-special ReduceAction
+private class ReduceAction388
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10902,11 +10566,9 @@ special ReduceAction
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction380
-special ReduceAction
+private class ReduceAction389
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10917,22 +10579,18 @@ special ReduceAction
                                        node_list = tclassidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction381
-special ReduceAction
+private class ReduceAction390
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction383
-special ReduceAction
+private class ReduceAction392
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10947,11 +10605,9 @@ special ReduceAction
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction384
-special ReduceAction
+private class ReduceAction393
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10967,22 +10623,18 @@ special ReduceAction
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction386
-special ReduceAction
+private class ReduceAction395
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction387
-special ReduceAction
+private class ReduceAction396
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10991,11 +10643,9 @@ special ReduceAction
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction388
-special ReduceAction
+private class ReduceAction397
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11003,11 +10653,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction389
-special ReduceAction
+private class ReduceAction398
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11016,11 +10664,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction637
-special ReduceAction
+private class ReduceAction651
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11041,11 +10687,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction638
-special ReduceAction
+private class ReduceAction652
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11062,11 +10706,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction639
-special ReduceAction
+private class ReduceAction653
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11091,11 +10733,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction642
-special ReduceAction
+private class ReduceAction656
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11118,11 +10758,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction655
-special ReduceAction
+private class ReduceAction669
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11133,11 +10771,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction656
-special ReduceAction
+private class ReduceAction670
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11146,11 +10782,9 @@ special ReduceAction
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction663
-special ReduceAction
+private class ReduceAction677
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11163,11 +10797,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction664
-special ReduceAction
+private class ReduceAction678
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11184,11 +10816,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction665
-special ReduceAction
+private class ReduceAction679
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11201,11 +10831,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction666
-special ReduceAction
+private class ReduceAction680
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11222,11 +10850,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction667
-special ReduceAction
+private class ReduceAction681
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11239,11 +10865,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction668
-special ReduceAction
+private class ReduceAction682
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11260,11 +10884,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction669
-special ReduceAction
+private class ReduceAction683
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11277,11 +10899,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction670
-special ReduceAction
+private class ReduceAction684
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11298,11 +10918,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction673
-special ReduceAction
+private class ReduceAction687
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11315,11 +10933,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction674
-special ReduceAction
+private class ReduceAction688
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11336,11 +10952,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction675
-special ReduceAction
+private class ReduceAction689
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11353,11 +10967,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction676
-special ReduceAction
+private class ReduceAction690
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11374,11 +10986,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction677
-special ReduceAction
+private class ReduceAction691
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11391,11 +11001,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction678
-special ReduceAction
+private class ReduceAction692
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11412,11 +11020,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction680
-special ReduceAction
+private class ReduceAction694
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11433,11 +11039,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction682
-special ReduceAction
+private class ReduceAction696
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11454,11 +11058,23 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction684
-special ReduceAction
+private class ReduceAction697
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       listnode2 = concat(listnode2, listnode1)
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction698
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11474,11 +11090,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction688
-special ReduceAction
+private class ReduceAction702
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11495,11 +11109,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction689
-special ReduceAction
+private class ReduceAction703
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11512,11 +11124,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction690
-special ReduceAction
+private class ReduceAction704
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11533,11 +11143,9 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction691
-special ReduceAction
+private class ReduceAction705
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11550,11 +11158,9 @@ special ReduceAction
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction692
-special ReduceAction
+private class ReduceAction706
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11571,6 +11177,4 @@ special ReduceAction
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end