syntax: enable a generalized for with iterate
[nit.git] / src / parser / parser.nit
index 8fa1496..6b336ce 100644 (file)
@@ -3,7 +3,6 @@
 package parser
 
 intrude import parser_prod
-intrude import parser_tables
 
 # State of the parser automata as stored in the parser stack.
 private class State
@@ -21,7 +20,7 @@ private class State
 end
 
 class Parser
-special ParserTable
+       super TablesCapable
        # Associated lexer
        var _lexer: Lexer
 
@@ -37,8 +36,6 @@ special ParserTable
                _lexer = lexer
                _stack = new Array[State]
                _stack_pos = -1
-               build_goto_table
-               build_action_table
                build_reduce_table
        end
 
@@ -46,24 +43,24 @@ special ParserTable
        private fun go_to(index: Int): Int
        do
                var state = state
-               var table = _goto_table[index]
                var low = 1
-               var high = table.length/2 - 1
+               var high = parser_goto(index, 0) - 1
 
                while low <= high do
                        var middle = (low + high) / 2
-                       var subindex = middle * 2
+                       var subindex = middle * 2 + 1 # +1 because parser_goto(index, 0) is the length
 
-                       if state < table[subindex] then
+                       var goal = parser_goto(index, subindex)
+                       if state < goal then
                                high = middle - 1
-                       else if state > table[subindex] then
+                       else if state > goal then
                                low = middle + 1
                        else
-                               return table[subindex + 1]
+                               return parser_goto(index, subindex+1)
                        end
                end
 
-               return table[1] # Default value
+               return parser_goto(index, 2) # Default value
        end
 
        # Push someting in the state stack
@@ -107,25 +104,25 @@ special ParserTable
                        end
 
                        var index = token.parser_index
-                       var table = _action_table[state]
-                       var action_type = table[1]
-                       var action_value = table[2]
+                       var action_type = parser_action(state, 2)
+                       var action_value = parser_action(state, 3)
 
                        var low = 1
-                       var high = table.length/3 - 1
+                       var high = parser_action(state, 0) - 1
 
                        while low <= high do
                                var middle = (low + high) / 2
-                               var subindex = middle * 3
+                               var subindex = middle * 3 + 1 # +1 because parser_action(state, 0) is the length
 
-                               if index < table[subindex] then
+                               var goal = parser_action(state, subindex)
+                               if index < goal then
                                        high = middle - 1
-                               else if index > table[subindex] then
+                               else if index > goal then
                                        low = middle + 1
                                else
-                                       action_type = table[subindex + 1]
-                                       action_value = table[subindex + 2]
-                                       high = low -1 # break
+                                       action_type = parser_action(state, subindex+1)
+                                       action_value = parser_action(state, subindex+2)
+                                       break
                                end
                        end
 
@@ -146,9 +143,7 @@ special ParserTable
                                var node = new Start(null, node2)
                                return node
                        end
-                       if false then break # FIXME remove once unreach loop exits are in c_src
                end
-               abort # FIXME remove once unreach loop exits are in c_src
        end
 
        var _reduce_table: Array[ReduceAction]
@@ -320,54 +315,54 @@ special ParserTable
                        new ReduceAction162(17),
                        new ReduceAction163(17),
                        new ReduceAction164(17),
-                       new ReduceAction165(18),
-                       new ReduceAction166(18),
+                       new ReduceAction165(17),
+                       new ReduceAction166(17),
                        new ReduceAction167(18),
                        new ReduceAction168(18),
                        new ReduceAction169(18),
                        new ReduceAction170(18),
                        new ReduceAction171(18),
                        new ReduceAction172(18),
-                       new ReduceAction173(19),
-                       new ReduceAction174(19),
+                       new ReduceAction173(18),
+                       new ReduceAction174(18),
                        new ReduceAction175(19),
                        new ReduceAction176(19),
-                       new ReduceAction177(20),
-                       new ReduceAction178(20),
+                       new ReduceAction177(19),
+                       new ReduceAction178(19),
                        new ReduceAction179(20),
-                       new ReduceAction180(21),
-                       new ReduceAction181(22),
-                       new ReduceAction182(22),
+                       new ReduceAction180(20),
+                       new ReduceAction181(20),
+                       new ReduceAction182(21),
                        new ReduceAction183(22),
-                       new ReduceAction184(23),
-                       new ReduceAction185(24),
-                       new ReduceAction186(24),
+                       new ReduceAction184(22),
+                       new ReduceAction185(22),
+                       new ReduceAction186(23),
                        new ReduceAction187(24),
                        new ReduceAction188(24),
                        new ReduceAction189(24),
                        new ReduceAction190(24),
-                       new ReduceAction191(25),
-                       new ReduceAction192(26),
-                       new ReduceAction193(26),
+                       new ReduceAction191(24),
+                       new ReduceAction192(24),
+                       new ReduceAction193(25),
                        new ReduceAction194(26),
                        new ReduceAction195(26),
-                       new ReduceAction196(27),
-                       new ReduceAction197(27),
-                       new ReduceAction198(28),
-                       new ReduceAction198(29),
-                       new ReduceAction200(30),
-                       new ReduceAction201(30),
+                       new ReduceAction196(26),
+                       new ReduceAction197(26),
+                       new ReduceAction198(27),
+                       new ReduceAction199(27),
+                       new ReduceAction200(28),
+                       new ReduceAction200(29),
                        new ReduceAction202(30),
                        new ReduceAction203(30),
-                       new ReduceAction204(31),
-                       new ReduceAction205(31),
-                       new ReduceAction206(32),
-                       new ReduceAction207(32),
-                       new ReduceAction208(33),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction211(34),
-                       new ReduceAction212(34),
+                       new ReduceAction204(30),
+                       new ReduceAction205(30),
+                       new ReduceAction206(31),
+                       new ReduceAction207(31),
+                       new ReduceAction208(32),
+                       new ReduceAction209(32),
+                       new ReduceAction210(33),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
                        new ReduceAction213(34),
                        new ReduceAction214(34),
                        new ReduceAction215(34),
@@ -377,467 +372,487 @@ special ParserTable
                        new ReduceAction219(34),
                        new ReduceAction220(34),
                        new ReduceAction221(34),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction203(34),
-                       new ReduceAction228(34),
-                       new ReduceAction229(34),
+                       new ReduceAction222(34),
+                       new ReduceAction223(34),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
+                       new ReduceAction205(34),
                        new ReduceAction230(34),
                        new ReduceAction231(34),
                        new ReduceAction232(34),
                        new ReduceAction233(34),
                        new ReduceAction234(34),
                        new ReduceAction235(34),
-                       new ReduceAction236(35),
-                       new ReduceAction237(36),
-                       new ReduceAction238(36),
-                       new ReduceAction239(37),
-                       new ReduceAction240(37),
+                       new ReduceAction236(34),
+                       new ReduceAction237(34),
+                       new ReduceAction238(35),
+                       new ReduceAction239(36),
+                       new ReduceAction240(36),
                        new ReduceAction241(37),
                        new ReduceAction242(37),
                        new ReduceAction243(37),
                        new ReduceAction244(37),
-                       new ReduceAction245(38),
-                       new ReduceAction246(38),
-                       new ReduceAction247(38),
-                       new ReduceAction248(38),
-                       new ReduceAction249(39),
-                       new ReduceAction250(39),
-                       new ReduceAction251(40),
-                       new ReduceAction252(41),
-                       new ReduceAction253(41),
-                       new ReduceAction254(41),
-                       new ReduceAction255(41),
-                       new ReduceAction256(42),
-                       new ReduceAction257(42),
-                       new ReduceAction258(42),
-                       new ReduceAction259(42),
-                       new ReduceAction260(42),
-                       new ReduceAction261(42),
-                       new ReduceAction262(42),
+                       new ReduceAction245(37),
+                       new ReduceAction246(37),
+                       new ReduceAction247(37),
+                       new ReduceAction248(37),
+                       new ReduceAction249(37),
+                       new ReduceAction250(38),
+                       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(43),
-                       new ReduceAction267(43),
-                       new ReduceAction268(44),
-                       new ReduceAction269(44),
-                       new ReduceAction270(45),
-                       new ReduceAction271(45),
-                       new ReduceAction272(45),
-                       new ReduceAction273(45),
-                       new ReduceAction274(45),
-                       new ReduceAction208(46),
+                       new ReduceAction266(42),
+                       new ReduceAction267(42),
+                       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 ReduceAction277(47),
-                       new ReduceAction278(47),
-                       new ReduceAction279(48),
-                       new ReduceAction280(48),
-                       new ReduceAction281(49),
-                       new ReduceAction282(49),
-                       new ReduceAction283(50),
-                       new ReduceAction284(50),
-                       new ReduceAction285(50),
-                       new ReduceAction286(50),
-                       new ReduceAction287(51),
-                       new ReduceAction203(52),
-                       new ReduceAction230(52),
-                       new ReduceAction231(52),
-                       new ReduceAction291(52),
-                       new ReduceAction203(53),
-                       new ReduceAction293(53),
-                       new ReduceAction203(54),
-                       new ReduceAction295(54),
-                       new ReduceAction296(54),
-                       new ReduceAction297(54),
-                       new ReduceAction203(55),
-                       new ReduceAction299(55),
-                       new ReduceAction203(56),
-                       new ReduceAction301(56),
-                       new ReduceAction302(56),
-                       new ReduceAction303(56),
-                       new ReduceAction304(56),
-                       new ReduceAction305(56),
-                       new ReduceAction306(56),
-                       new ReduceAction307(56),
-                       new ReduceAction308(56),
-                       new ReduceAction309(56),
-                       new ReduceAction203(57),
-                       new ReduceAction311(57),
-                       new ReduceAction312(57),
-                       new ReduceAction203(58),
-                       new ReduceAction314(58),
-                       new ReduceAction315(58),
-                       new ReduceAction316(58),
-                       new ReduceAction203(59),
-                       new ReduceAction318(59),
-                       new ReduceAction319(59),
-                       new ReduceAction203(60),
-                       new ReduceAction321(60),
-                       new ReduceAction322(60),
-                       new ReduceAction323(60),
-                       new ReduceAction324(61),
-                       new ReduceAction325(61),
-                       new ReduceAction228(61),
-                       new ReduceAction229(61),
-                       new ReduceAction232(61),
-                       new ReduceAction233(61),
-                       new ReduceAction234(61),
-                       new ReduceAction235(61),
-                       new ReduceAction332(61),
-                       new ReduceAction333(61),
-                       new ReduceAction334(61),
+                       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 ReduceAction300(52),
+                       new ReduceAction205(53),
+                       new ReduceAction302(53),
+                       new ReduceAction205(54),
+                       new ReduceAction304(54),
+                       new ReduceAction305(54),
+                       new ReduceAction306(54),
+                       new ReduceAction205(55),
+                       new ReduceAction308(55),
+                       new ReduceAction205(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 ReduceAction322(57),
+                       new ReduceAction323(57),
+                       new ReduceAction205(58),
+                       new ReduceAction325(58),
+                       new ReduceAction326(58),
+                       new ReduceAction327(58),
+                       new ReduceAction205(59),
+                       new ReduceAction329(59),
+                       new ReduceAction330(59),
+                       new ReduceAction205(60),
+                       new ReduceAction332(60),
+                       new ReduceAction333(60),
+                       new ReduceAction334(60),
                        new ReduceAction335(61),
                        new ReduceAction336(61),
-                       new ReduceAction337(61),
-                       new ReduceAction338(61),
-                       new ReduceAction339(61),
-                       new ReduceAction340(61),
-                       new ReduceAction341(61),
-                       new ReduceAction342(61),
+                       new ReduceAction230(61),
+                       new ReduceAction231(61),
+                       new ReduceAction234(61),
+                       new ReduceAction235(61),
+                       new ReduceAction236(61),
+                       new ReduceAction237(61),
                        new ReduceAction343(61),
                        new ReduceAction344(61),
-                       new ReduceAction203(61),
-                       new ReduceAction200(61),
+                       new ReduceAction345(61),
+                       new ReduceAction346(61),
                        new ReduceAction347(61),
                        new ReduceAction348(61),
-                       new ReduceAction349(62),
-                       new ReduceAction350(62),
-                       new ReduceAction351(63),
-                       new ReduceAction352(64),
-                       new ReduceAction351(65),
-                       new ReduceAction354(66),
-                       new ReduceAction355(67),
-                       new ReduceAction356(68),
-                       new ReduceAction357(68),
-                       new ReduceAction179(68),
-                       new ReduceAction359(68),
-                       new ReduceAction356(69),
-                       new ReduceAction357(69),
-                       new ReduceAction362(69),
-                       new ReduceAction179(69),
-                       new ReduceAction359(69),
-                       new ReduceAction356(70),
-                       new ReduceAction357(70),
-                       new ReduceAction367(71),
-                       new ReduceAction368(72),
-                       new ReduceAction369(72),
-                       new ReduceAction370(73),
-                       new ReduceAction371(73),
-                       new ReduceAction372(74),
-                       new ReduceAction373(74),
-                       new ReduceAction374(74),
-                       new ReduceAction375(75),
-                       new ReduceAction376(76),
-                       new ReduceAction377(77),
-                       new ReduceAction377(77),
-                       new ReduceAction379(78),
-                       new ReduceAction380(78),
-                       new ReduceAction36(78),
-                       new ReduceAction382(79),
-                       new ReduceAction383(79),
-                       new ReduceAction384(80),
-                       new ReduceAction385(80),
-                       new ReduceAction377(80),
-                       new ReduceAction66(81),
-                       new ReduceAction67(82),
-                       new ReduceAction68(82),
-                       new ReduceAction69(82),
-                       new ReduceAction70(82),
-                       new ReduceAction71(82),
-                       new ReduceAction72(82),
-                       new ReduceAction77(82),
-                       new ReduceAction78(82),
-                       new ReduceAction79(82),
-                       new ReduceAction80(82),
-                       new ReduceAction165(83),
-                       new ReduceAction166(83),
-                       new ReduceAction167(83),
-                       new ReduceAction168(83),
-                       new ReduceAction192(84),
-                       new ReduceAction193(84),
-                       new ReduceAction203(85),
-                       new ReduceAction230(85),
-                       new ReduceAction231(85),
-                       new ReduceAction203(86),
-                       new ReduceAction293(86),
-                       new ReduceAction203(87),
-                       new ReduceAction295(87),
-                       new ReduceAction296(87),
-                       new ReduceAction297(87),
-                       new ReduceAction203(88),
-                       new ReduceAction299(88),
-                       new ReduceAction203(89),
-                       new ReduceAction301(89),
-                       new ReduceAction302(89),
-                       new ReduceAction303(89),
-                       new ReduceAction304(89),
-                       new ReduceAction305(89),
-                       new ReduceAction306(89),
-                       new ReduceAction307(89),
-                       new ReduceAction308(89),
-                       new ReduceAction309(89),
-                       new ReduceAction203(90),
-                       new ReduceAction311(90),
-                       new ReduceAction312(90),
-                       new ReduceAction203(91),
-                       new ReduceAction314(91),
-                       new ReduceAction315(91),
-                       new ReduceAction316(91),
-                       new ReduceAction203(92),
-                       new ReduceAction318(92),
-                       new ReduceAction319(92),
-                       new ReduceAction203(93),
-                       new ReduceAction321(93),
-                       new ReduceAction322(93),
-                       new ReduceAction323(93),
-                       new ReduceAction324(94),
-                       new ReduceAction325(94),
-                       new ReduceAction228(94),
-                       new ReduceAction229(94),
-                       new ReduceAction232(94),
-                       new ReduceAction233(94),
-                       new ReduceAction234(94),
-                       new ReduceAction235(94),
-                       new ReduceAction333(94),
-                       new ReduceAction337(94),
-                       new ReduceAction338(94),
-                       new ReduceAction339(94),
-                       new ReduceAction340(94),
-                       new ReduceAction341(94),
-                       new ReduceAction342(94),
-                       new ReduceAction343(94),
-                       new ReduceAction344(94),
+                       new ReduceAction349(61),
+                       new ReduceAction350(61),
+                       new ReduceAction351(61),
+                       new ReduceAction352(61),
+                       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 ReduceAction370(68),
+                       new ReduceAction367(69),
+                       new ReduceAction368(69),
+                       new ReduceAction373(69),
+                       new ReduceAction181(69),
+                       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(74),
+                       new ReduceAction385(75),
+                       new ReduceAction386(76),
+                       new ReduceAction386(76),
+                       new ReduceAction388(77),
+                       new ReduceAction389(77),
+                       new ReduceAction36(77),
+                       new ReduceAction391(78),
+                       new ReduceAction392(78),
+                       new ReduceAction393(79),
+                       new ReduceAction394(79),
+                       new ReduceAction386(79),
+                       new ReduceAction66(80),
+                       new ReduceAction67(81),
+                       new ReduceAction68(81),
+                       new ReduceAction69(81),
+                       new ReduceAction70(81),
+                       new ReduceAction71(81),
+                       new ReduceAction72(81),
+                       new ReduceAction77(81),
+                       new ReduceAction78(81),
+                       new ReduceAction79(81),
+                       new ReduceAction80(81),
+                       new ReduceAction167(82),
+                       new ReduceAction168(82),
+                       new ReduceAction169(82),
+                       new ReduceAction170(82),
+                       new ReduceAction194(83),
+                       new ReduceAction195(83),
+                       new ReduceAction205(84),
+                       new ReduceAction232(84),
+                       new ReduceAction233(84),
+                       new ReduceAction205(85),
+                       new ReduceAction302(85),
+                       new ReduceAction205(86),
+                       new ReduceAction304(86),
+                       new ReduceAction305(86),
+                       new ReduceAction306(86),
+                       new ReduceAction205(87),
+                       new ReduceAction308(87),
+                       new ReduceAction205(88),
+                       new ReduceAction310(88),
+                       new ReduceAction311(88),
+                       new ReduceAction312(88),
+                       new ReduceAction313(88),
+                       new ReduceAction314(88),
+                       new ReduceAction315(88),
+                       new ReduceAction316(88),
+                       new ReduceAction317(88),
+                       new ReduceAction318(88),
+                       new ReduceAction319(88),
+                       new ReduceAction320(88),
+                       new ReduceAction205(89),
+                       new ReduceAction322(89),
+                       new ReduceAction323(89),
+                       new ReduceAction205(90),
+                       new ReduceAction325(90),
+                       new ReduceAction326(90),
+                       new ReduceAction327(90),
+                       new ReduceAction205(91),
+                       new ReduceAction329(91),
+                       new ReduceAction330(91),
+                       new ReduceAction205(92),
+                       new ReduceAction332(92),
+                       new ReduceAction333(92),
+                       new ReduceAction334(92),
+                       new ReduceAction335(93),
+                       new ReduceAction336(93),
+                       new ReduceAction230(93),
+                       new ReduceAction231(93),
+                       new ReduceAction234(93),
+                       new ReduceAction235(93),
+                       new ReduceAction236(93),
+                       new ReduceAction237(93),
+                       new ReduceAction344(93),
+                       new ReduceAction348(93),
+                       new ReduceAction349(93),
+                       new ReduceAction350(93),
+                       new ReduceAction351(93),
+                       new ReduceAction352(93),
+                       new ReduceAction353(93),
+                       new ReduceAction354(93),
+                       new ReduceAction355(93),
+                       new ReduceAction205(93),
+                       new ReduceAction202(93),
+                       new ReduceAction358(93),
+                       new ReduceAction359(93),
+                       new ReduceAction202(94),
                        new ReduceAction203(94),
-                       new ReduceAction200(94),
-                       new ReduceAction347(94),
-                       new ReduceAction348(94),
-                       new ReduceAction200(95),
-                       new ReduceAction201(95),
-                       new ReduceAction202(95),
-                       new ReduceAction203(95),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction211(96),
-                       new ReduceAction212(96),
-                       new ReduceAction213(96),
-                       new ReduceAction214(96),
-                       new ReduceAction215(96),
-                       new ReduceAction216(96),
-                       new ReduceAction217(96),
-                       new ReduceAction218(96),
-                       new ReduceAction219(96),
-                       new ReduceAction220(96),
-                       new ReduceAction221(96),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction228(96),
-                       new ReduceAction229(96),
-                       new ReduceAction230(96),
-                       new ReduceAction231(96),
-                       new ReduceAction232(96),
-                       new ReduceAction233(96),
-                       new ReduceAction234(96),
-                       new ReduceAction235(96),
-                       new ReduceAction237(97),
-                       new ReduceAction238(97),
-                       new ReduceAction239(98),
-                       new ReduceAction240(98),
-                       new ReduceAction241(98),
-                       new ReduceAction242(98),
-                       new ReduceAction243(98),
-                       new ReduceAction244(98),
-                       new ReduceAction251(99),
-                       new ReduceAction252(100),
-                       new ReduceAction253(100),
-                       new ReduceAction254(100),
-                       new ReduceAction255(100),
-                       new ReduceAction256(101),
-                       new ReduceAction257(101),
-                       new ReduceAction258(101),
-                       new ReduceAction259(101),
-                       new ReduceAction260(101),
-                       new ReduceAction261(101),
-                       new ReduceAction262(101),
-                       new ReduceAction263(101),
-                       new ReduceAction264(101),
-                       new ReduceAction265(101),
-                       new ReduceAction268(102),
-                       new ReduceAction269(102),
-                       new ReduceAction270(103),
-                       new ReduceAction277(104),
-                       new ReduceAction278(104),
-                       new ReduceAction279(105),
-                       new ReduceAction280(105),
-                       new ReduceAction281(106),
-                       new ReduceAction282(106),
-                       new ReduceAction283(107),
-                       new ReduceAction284(107),
-                       new ReduceAction203(108),
-                       new ReduceAction230(108),
-                       new ReduceAction231(108),
-                       new ReduceAction291(108),
+                       new ReduceAction204(94),
+                       new ReduceAction205(94),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction213(95),
+                       new ReduceAction214(95),
+                       new ReduceAction215(95),
+                       new ReduceAction216(95),
+                       new ReduceAction217(95),
+                       new ReduceAction218(95),
+                       new ReduceAction219(95),
+                       new ReduceAction220(95),
+                       new ReduceAction221(95),
+                       new ReduceAction222(95),
+                       new ReduceAction223(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction230(95),
+                       new ReduceAction231(95),
+                       new ReduceAction232(95),
+                       new ReduceAction233(95),
+                       new ReduceAction234(95),
+                       new ReduceAction235(95),
+                       new ReduceAction236(95),
+                       new ReduceAction237(95),
+                       new ReduceAction239(96),
+                       new ReduceAction240(96),
+                       new ReduceAction241(97),
+                       new ReduceAction242(97),
+                       new ReduceAction243(97),
+                       new ReduceAction244(97),
+                       new ReduceAction245(97),
+                       new ReduceAction246(97),
+                       new ReduceAction247(97),
+                       new ReduceAction248(97),
+                       new ReduceAction249(97),
+                       new ReduceAction258(98),
+                       new ReduceAction259(99),
+                       new ReduceAction260(99),
+                       new ReduceAction261(99),
+                       new ReduceAction262(99),
+                       new ReduceAction263(100),
+                       new ReduceAction264(100),
+                       new ReduceAction265(100),
+                       new ReduceAction266(100),
+                       new ReduceAction267(100),
+                       new ReduceAction268(100),
+                       new ReduceAction269(100),
+                       new ReduceAction270(100),
+                       new ReduceAction271(100),
+                       new ReduceAction272(100),
+                       new ReduceAction275(101),
+                       new ReduceAction276(101),
+                       new ReduceAction277(102),
+                       new ReduceAction284(103),
+                       new ReduceAction285(103),
+                       new ReduceAction286(104),
+                       new ReduceAction287(104),
+                       new ReduceAction288(105),
+                       new ReduceAction289(105),
+                       new ReduceAction290(105),
+                       new ReduceAction291(105),
+                       new ReduceAction292(106),
+                       new ReduceAction293(106),
+                       new ReduceAction205(107),
+                       new ReduceAction232(107),
+                       new ReduceAction233(107),
+                       new ReduceAction300(107),
+                       new ReduceAction205(108),
+                       new ReduceAction232(108),
+                       new ReduceAction233(108),
+                       new ReduceAction202(109),
                        new ReduceAction203(109),
-                       new ReduceAction230(109),
-                       new ReduceAction231(109),
-                       new ReduceAction200(110),
-                       new ReduceAction201(110),
+                       new ReduceAction204(109),
                        new ReduceAction202(110),
-                       new ReduceAction200(111),
-                       new ReduceAction201(111),
-                       new ReduceAction202(111),
-                       new ReduceAction203(112),
-                       new ReduceAction230(112),
-                       new ReduceAction231(112),
-                       new ReduceAction203(113),
-                       new ReduceAction293(113),
-                       new ReduceAction203(114),
-                       new ReduceAction295(114),
-                       new ReduceAction296(114),
-                       new ReduceAction297(114),
-                       new ReduceAction203(115),
-                       new ReduceAction299(115),
-                       new ReduceAction203(116),
-                       new ReduceAction301(116),
-                       new ReduceAction302(116),
-                       new ReduceAction303(116),
-                       new ReduceAction304(116),
-                       new ReduceAction305(116),
-                       new ReduceAction306(116),
-                       new ReduceAction307(116),
-                       new ReduceAction308(116),
-                       new ReduceAction309(116),
-                       new ReduceAction203(117),
-                       new ReduceAction311(117),
-                       new ReduceAction312(117),
-                       new ReduceAction203(118),
-                       new ReduceAction314(118),
-                       new ReduceAction315(118),
-                       new ReduceAction316(118),
-                       new ReduceAction203(119),
-                       new ReduceAction318(119),
-                       new ReduceAction319(119),
-                       new ReduceAction203(120),
-                       new ReduceAction321(120),
-                       new ReduceAction322(120),
-                       new ReduceAction323(120),
-                       new ReduceAction324(121),
-                       new ReduceAction325(121),
-                       new ReduceAction228(121),
-                       new ReduceAction229(121),
+                       new ReduceAction203(110),
+                       new ReduceAction204(110),
+                       new ReduceAction205(111),
+                       new ReduceAction232(111),
+                       new ReduceAction233(111),
+                       new ReduceAction205(112),
+                       new ReduceAction302(112),
+                       new ReduceAction205(113),
+                       new ReduceAction304(113),
+                       new ReduceAction305(113),
+                       new ReduceAction306(113),
+                       new ReduceAction205(114),
+                       new ReduceAction308(114),
+                       new ReduceAction205(115),
+                       new ReduceAction310(115),
+                       new ReduceAction311(115),
+                       new ReduceAction312(115),
+                       new ReduceAction313(115),
+                       new ReduceAction314(115),
+                       new ReduceAction315(115),
+                       new ReduceAction316(115),
+                       new ReduceAction317(115),
+                       new ReduceAction318(115),
+                       new ReduceAction319(115),
+                       new ReduceAction320(115),
+                       new ReduceAction205(116),
+                       new ReduceAction322(116),
+                       new ReduceAction323(116),
+                       new ReduceAction205(117),
+                       new ReduceAction325(117),
+                       new ReduceAction326(117),
+                       new ReduceAction327(117),
+                       new ReduceAction205(118),
+                       new ReduceAction329(118),
+                       new ReduceAction330(118),
+                       new ReduceAction205(119),
+                       new ReduceAction332(119),
+                       new ReduceAction333(119),
+                       new ReduceAction334(119),
+                       new ReduceAction335(120),
+                       new ReduceAction336(120),
+                       new ReduceAction230(120),
+                       new ReduceAction231(120),
+                       new ReduceAction234(120),
+                       new ReduceAction235(120),
+                       new ReduceAction236(120),
+                       new ReduceAction237(120),
+                       new ReduceAction343(120),
+                       new ReduceAction344(120),
+                       new ReduceAction348(120),
+                       new ReduceAction349(120),
+                       new ReduceAction350(120),
+                       new ReduceAction351(120),
+                       new ReduceAction352(120),
+                       new ReduceAction353(120),
+                       new ReduceAction354(120),
+                       new ReduceAction355(120),
+                       new ReduceAction205(120),
+                       new ReduceAction358(120),
+                       new ReduceAction359(120),
+                       new ReduceAction205(121),
                        new ReduceAction232(121),
                        new ReduceAction233(121),
-                       new ReduceAction234(121),
-                       new ReduceAction235(121),
-                       new ReduceAction332(121),
-                       new ReduceAction333(121),
-                       new ReduceAction337(121),
-                       new ReduceAction338(121),
-                       new ReduceAction339(121),
-                       new ReduceAction340(121),
-                       new ReduceAction341(121),
-                       new ReduceAction342(121),
-                       new ReduceAction343(121),
-                       new ReduceAction344(121),
-                       new ReduceAction203(121),
-                       new ReduceAction347(121),
-                       new ReduceAction348(121),
-                       new ReduceAction203(122),
-                       new ReduceAction230(122),
-                       new ReduceAction231(122),
-                       new ReduceAction203(123),
-                       new ReduceAction293(123),
-                       new ReduceAction203(124),
-                       new ReduceAction295(124),
-                       new ReduceAction296(124),
-                       new ReduceAction297(124),
-                       new ReduceAction203(125),
-                       new ReduceAction299(125),
-                       new ReduceAction203(126),
-                       new ReduceAction301(126),
-                       new ReduceAction302(126),
-                       new ReduceAction303(126),
-                       new ReduceAction304(126),
-                       new ReduceAction305(126),
-                       new ReduceAction306(126),
-                       new ReduceAction307(126),
-                       new ReduceAction308(126),
-                       new ReduceAction309(126),
-                       new ReduceAction203(127),
-                       new ReduceAction311(127),
-                       new ReduceAction312(127),
-                       new ReduceAction203(128),
-                       new ReduceAction314(128),
-                       new ReduceAction315(128),
-                       new ReduceAction316(128),
-                       new ReduceAction203(129),
-                       new ReduceAction318(129),
-                       new ReduceAction319(129),
-                       new ReduceAction203(130),
-                       new ReduceAction321(130),
-                       new ReduceAction627(130),
-                       new ReduceAction628(131),
-                       new ReduceAction629(131),
-                       new ReduceAction232(131),
-                       new ReduceAction233(131),
-                       new ReduceAction632(131),
-                       new ReduceAction333(131),
-                       new ReduceAction337(131),
-                       new ReduceAction338(131),
-                       new ReduceAction339(131),
-                       new ReduceAction340(131),
-                       new ReduceAction341(131),
-                       new ReduceAction342(131),
-                       new ReduceAction343(131),
-                       new ReduceAction344(131),
-                       new ReduceAction203(131),
-                       new ReduceAction347(131),
-                       new ReduceAction348(131),
-                       new ReduceAction645(132),
-                       new ReduceAction646(132),
-                       new ReduceAction203(133),
-                       new ReduceAction230(133),
-                       new ReduceAction231(133),
-                       new ReduceAction203(134),
-                       new ReduceAction230(134),
-                       new ReduceAction231(134),
-                       new ReduceAction653(135),
-                       new ReduceAction654(135),
-                       new ReduceAction655(136),
-                       new ReduceAction656(136),
-                       new ReduceAction657(137),
-                       new ReduceAction658(137),
-                       new ReduceAction659(138),
-                       new ReduceAction660(138),
-                       new ReduceAction657(139),
-                       new ReduceAction658(139),
-                       new ReduceAction663(140),
-                       new ReduceAction664(140),
-                       new ReduceAction665(141),
-                       new ReduceAction666(141),
-                       new ReduceAction667(142),
-                       new ReduceAction668(142),
-                       new ReduceAction196(143),
-                       new ReduceAction670(143),
-                       new ReduceAction362(144),
-                       new ReduceAction672(144),
-                       new ReduceAction369(145),
-                       new ReduceAction674(145),
-                       new ReduceAction362(146),
-                       new ReduceAction672(146),
-                       new ReduceAction370(147),
-                       new ReduceAction678(147),
-                       new ReduceAction679(148),
-                       new ReduceAction680(148),
-                       new ReduceAction681(149),
-                       new ReduceAction682(149)
+                       new ReduceAction205(122),
+                       new ReduceAction302(122),
+                       new ReduceAction205(123),
+                       new ReduceAction304(123),
+                       new ReduceAction305(123),
+                       new ReduceAction306(123),
+                       new ReduceAction205(124),
+                       new ReduceAction308(124),
+                       new ReduceAction205(125),
+                       new ReduceAction310(125),
+                       new ReduceAction311(125),
+                       new ReduceAction312(125),
+                       new ReduceAction313(125),
+                       new ReduceAction314(125),
+                       new ReduceAction315(125),
+                       new ReduceAction316(125),
+                       new ReduceAction317(125),
+                       new ReduceAction318(125),
+                       new ReduceAction319(125),
+                       new ReduceAction320(125),
+                       new ReduceAction205(126),
+                       new ReduceAction322(126),
+                       new ReduceAction323(126),
+                       new ReduceAction205(127),
+                       new ReduceAction325(127),
+                       new ReduceAction326(127),
+                       new ReduceAction327(127),
+                       new ReduceAction205(128),
+                       new ReduceAction329(128),
+                       new ReduceAction330(128),
+                       new ReduceAction205(129),
+                       new ReduceAction332(129),
+                       new ReduceAction647(129),
+                       new ReduceAction648(130),
+                       new ReduceAction649(130),
+                       new ReduceAction234(130),
+                       new ReduceAction235(130),
+                       new ReduceAction652(130),
+                       new ReduceAction344(130),
+                       new ReduceAction348(130),
+                       new ReduceAction349(130),
+                       new ReduceAction350(130),
+                       new ReduceAction351(130),
+                       new ReduceAction352(130),
+                       new ReduceAction353(130),
+                       new ReduceAction354(130),
+                       new ReduceAction355(130),
+                       new ReduceAction205(130),
+                       new ReduceAction358(130),
+                       new ReduceAction359(130),
+                       new ReduceAction665(131),
+                       new ReduceAction666(131),
+                       new ReduceAction205(132),
+                       new ReduceAction232(132),
+                       new ReduceAction233(132),
+                       new ReduceAction205(133),
+                       new ReduceAction232(133),
+                       new ReduceAction233(133),
+                       new ReduceAction673(134),
+                       new ReduceAction674(134),
+                       new ReduceAction675(135),
+                       new ReduceAction676(135),
+                       new ReduceAction677(136),
+                       new ReduceAction678(136),
+                       new ReduceAction679(137),
+                       new ReduceAction680(137),
+                       new ReduceAction677(138),
+                       new ReduceAction678(138),
+                       new ReduceAction683(139),
+                       new ReduceAction684(139),
+                       new ReduceAction685(140),
+                       new ReduceAction686(140),
+                       new ReduceAction687(141),
+                       new ReduceAction688(141),
+                       new ReduceAction198(142),
+                       new ReduceAction690(142),
+                       new ReduceAction373(143),
+                       new ReduceAction692(143),
+                       new ReduceAction693(144),
+                       new ReduceAction694(144),
+                       new ReduceAction373(145),
+                       new ReduceAction692(145),
+                       new ReduceAction379(146),
+                       new ReduceAction698(146),
+                       new ReduceAction699(147),
+                       new ReduceAction700(147),
+                       new ReduceAction701(148),
+                       new ReduceAction702(148)
                )
        end
 end
@@ -855,7 +870,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]
 
@@ -951,7 +966,7 @@ private abstract class ReduceAction
 end
 
 private class ReduceAction0
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -969,17 +984,17 @@ special ReduceAction
        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
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode4 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode4
                                        )
@@ -990,7 +1005,7 @@ special ReduceAction
        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
@@ -1012,7 +1027,7 @@ special ReduceAction
        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
@@ -1020,13 +1035,13 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode5 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode5
                                        )
@@ -1037,7 +1052,7 @@ special ReduceAction
        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
@@ -1059,7 +1074,7 @@ special ReduceAction
        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
@@ -1067,13 +1082,13 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        listnode5 = concat(listnode5, listnode4)
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode5
                                        )
@@ -1084,7 +1099,7 @@ special ReduceAction
        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
@@ -1110,7 +1125,7 @@ special ReduceAction
        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
@@ -1119,8 +1134,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1128,7 +1143,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        listnode6 = concat(listnode6, listnode5)
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode6
                                        )
@@ -1139,7 +1154,7 @@ special ReduceAction
        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
@@ -1168,7 +1183,7 @@ special ReduceAction
        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
@@ -1176,8 +1191,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode7 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode6 = new Array[Object]
                                        var listnode5 = nodearraylist2
                                        assert listnode5 isa Array[Object]
@@ -1189,7 +1204,7 @@ special ReduceAction
                                                listnode7.add(pclassdefnode4)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode7
                                        )
@@ -1200,7 +1215,7 @@ special ReduceAction
        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
@@ -1233,7 +1248,7 @@ special ReduceAction
        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
@@ -1242,8 +1257,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode8 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1258,7 +1273,7 @@ special ReduceAction
                                                listnode8.add(pclassdefnode5)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode8
                                        )
@@ -1269,7 +1284,7 @@ special ReduceAction
        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
@@ -1302,7 +1317,7 @@ special ReduceAction
        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
@@ -1311,8 +1326,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
@@ -1327,7 +1342,7 @@ special ReduceAction
                                                listnode8.add(pclassdefnode5)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode8
                                        )
@@ -1338,7 +1353,7 @@ special ReduceAction
        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
@@ -1375,7 +1390,7 @@ special ReduceAction
        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
@@ -1385,8 +1400,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1404,7 +1419,7 @@ special ReduceAction
                                                listnode9.add(pclassdefnode6)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode9
                                        )
@@ -1415,7 +1430,7 @@ special ReduceAction
        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
@@ -1439,7 +1454,7 @@ special ReduceAction
        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
@@ -1447,15 +1462,15 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var pclassdefnode4 = nodearraylist2
                                        assert pclassdefnode4 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode5.add(pclassdefnode4)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode5
                                        )
@@ -1466,7 +1481,7 @@ special ReduceAction
        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
@@ -1494,7 +1509,7 @@ special ReduceAction
        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
@@ -1503,8 +1518,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1514,7 +1529,7 @@ special ReduceAction
                                                listnode6.add(pclassdefnode5)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode6
                                        )
@@ -1525,7 +1540,7 @@ special ReduceAction
        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
@@ -1553,7 +1568,7 @@ special ReduceAction
        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
@@ -1562,8 +1577,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode6 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var pclassdefnode5 = nodearraylist3
@@ -1573,7 +1588,7 @@ special ReduceAction
                                                listnode6.add(pclassdefnode5)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode6
                                        )
@@ -1584,7 +1599,7 @@ special ReduceAction
        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
@@ -1616,7 +1631,7 @@ special ReduceAction
        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
@@ -1626,8 +1641,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode7 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1640,7 +1655,7 @@ special ReduceAction
                                                listnode7.add(pclassdefnode6)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode7
                                        )
@@ -1651,7 +1666,7 @@ special ReduceAction
        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
@@ -1686,7 +1701,7 @@ special ReduceAction
        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
@@ -1695,8 +1710,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode6 = new Array[Object]
                                        var listnode5 = nodearraylist2
                                        assert listnode5 isa Array[Object]
@@ -1713,7 +1728,7 @@ special ReduceAction
                                                listnode8.add(pclassdefnode7)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode8
                                        )
@@ -1724,7 +1739,7 @@ special ReduceAction
        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
@@ -1763,7 +1778,7 @@ special ReduceAction
        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
@@ -1773,8 +1788,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1794,7 +1809,7 @@ special ReduceAction
                                                listnode9.add(pclassdefnode8)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode9
                                        )
@@ -1805,7 +1820,7 @@ special ReduceAction
        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
@@ -1844,7 +1859,7 @@ special ReduceAction
        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
@@ -1854,8 +1869,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
@@ -1875,7 +1890,7 @@ special ReduceAction
                                                listnode9.add(pclassdefnode8)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode3,
                                                listnode9
                                        )
@@ -1886,7 +1901,7 @@ special ReduceAction
        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
@@ -1929,7 +1944,7 @@ special ReduceAction
        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
@@ -1940,8 +1955,8 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
-                                       var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable APackagedecl
+                                       var pmoduledeclnode2 = nodearraylist1
+                                       assert pmoduledeclnode2 isa nullable AModuledecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        listnode4 = concat(listnode4, listnode3)
@@ -1964,7 +1979,7 @@ special ReduceAction
                                                listnode10.add(pclassdefnode9)
                                        end
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
-                                               ppackagedeclnode2,
+                                               pmoduledeclnode2,
                                                listnode4,
                                                listnode10
                                        )
@@ -1975,7 +1990,7 @@ special ReduceAction
        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
@@ -1986,23 +2001,23 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var tkwpackagenode3 = nodearraylist2
-                                       assert tkwpackagenode3 isa nullable TKwpackage
+                                       var tkwmodulenode3 = nodearraylist2
+                                       assert tkwmodulenode3 isa nullable TKwmodule
                                        var tidnode4 = nodearraylist4
                                        assert tidnode4 isa nullable TId
-                                       var ppackagedeclnode1: nullable APackagedecl = new APackagedecl.init_apackagedecl(
+                                       var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
                                                pdocnode2,
-                                               tkwpackagenode3,
+                                               tkwmodulenode3,
                                                tidnode4
                                        )
-                                       node_list = ppackagedeclnode1
+                                       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
@@ -2030,7 +2045,7 @@ special ReduceAction
        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
@@ -2058,7 +2073,7 @@ special ReduceAction
        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
@@ -2079,7 +2094,7 @@ special ReduceAction
        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
@@ -2091,7 +2106,7 @@ special ReduceAction
        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
@@ -2110,7 +2125,7 @@ special ReduceAction
        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
@@ -2149,7 +2164,7 @@ special ReduceAction
        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
@@ -2191,7 +2206,7 @@ special ReduceAction
        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
@@ -2234,7 +2249,7 @@ special ReduceAction
        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
@@ -2280,7 +2295,7 @@ special ReduceAction
        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
@@ -2323,7 +2338,7 @@ special ReduceAction
        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
@@ -2369,7 +2384,7 @@ special ReduceAction
        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
@@ -2416,7 +2431,7 @@ special ReduceAction
        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
@@ -2466,7 +2481,7 @@ special ReduceAction
        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
@@ -2509,7 +2524,7 @@ special ReduceAction
        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
@@ -2555,7 +2570,7 @@ special ReduceAction
        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
@@ -2602,7 +2617,7 @@ special ReduceAction
        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
@@ -2652,7 +2667,7 @@ special ReduceAction
        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
@@ -2699,7 +2714,7 @@ special ReduceAction
        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
@@ -2749,7 +2764,7 @@ special ReduceAction
        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
@@ -2800,7 +2815,7 @@ special ReduceAction
        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
@@ -2854,7 +2869,7 @@ special ReduceAction
        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
@@ -2871,7 +2886,7 @@ special ReduceAction
        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
@@ -2892,7 +2907,7 @@ special ReduceAction
        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
@@ -2909,15 +2924,15 @@ special ReduceAction
        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)
@@ -2926,7 +2941,7 @@ special ReduceAction
        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
@@ -2947,7 +2962,7 @@ special ReduceAction
        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
@@ -2972,7 +2987,7 @@ special ReduceAction
        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
@@ -2987,7 +3002,7 @@ special ReduceAction
        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
@@ -3005,7 +3020,7 @@ special ReduceAction
        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
@@ -3026,7 +3041,7 @@ special ReduceAction
        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
@@ -3050,7 +3065,7 @@ special ReduceAction
        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
@@ -3074,7 +3089,7 @@ special ReduceAction
        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
@@ -3088,7 +3103,7 @@ special ReduceAction
        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
@@ -3127,7 +3142,7 @@ special ReduceAction
        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
@@ -3169,7 +3184,7 @@ special ReduceAction
        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
@@ -3209,7 +3224,7 @@ special ReduceAction
        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
@@ -3252,7 +3267,7 @@ special ReduceAction
        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
@@ -3292,7 +3307,7 @@ special ReduceAction
        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
@@ -3335,7 +3350,7 @@ special ReduceAction
        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
@@ -3371,7 +3386,7 @@ special ReduceAction
        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
@@ -3410,7 +3425,7 @@ special ReduceAction
        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
@@ -3446,7 +3461,7 @@ special ReduceAction
        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
@@ -3485,7 +3500,7 @@ special ReduceAction
        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
@@ -3522,7 +3537,7 @@ special ReduceAction
        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
@@ -3562,7 +3577,7 @@ special ReduceAction
        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
@@ -3602,7 +3617,7 @@ special ReduceAction
        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
@@ -3645,7 +3660,7 @@ special ReduceAction
        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
@@ -3680,7 +3695,7 @@ special ReduceAction
        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
@@ -3718,7 +3733,7 @@ special ReduceAction
        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
@@ -3756,7 +3771,7 @@ special ReduceAction
        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
@@ -3797,7 +3812,7 @@ special ReduceAction
        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
@@ -3835,7 +3850,7 @@ special ReduceAction
        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
@@ -3876,7 +3891,7 @@ special ReduceAction
        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
@@ -3917,7 +3932,7 @@ special ReduceAction
        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
@@ -3961,7 +3976,7 @@ special ReduceAction
        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
@@ -3999,7 +4014,7 @@ special ReduceAction
        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
@@ -4040,7 +4055,7 @@ special ReduceAction
        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
@@ -4081,7 +4096,7 @@ special ReduceAction
        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
@@ -4125,7 +4140,7 @@ special ReduceAction
        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
@@ -4166,7 +4181,7 @@ special ReduceAction
        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
@@ -4210,7 +4225,7 @@ special ReduceAction
        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
@@ -4254,7 +4269,7 @@ special ReduceAction
        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
@@ -4301,7 +4316,7 @@ special ReduceAction
        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
@@ -4341,7 +4356,7 @@ special ReduceAction
        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
@@ -4384,7 +4399,7 @@ special ReduceAction
        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
@@ -4427,7 +4442,7 @@ special ReduceAction
        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
@@ -4473,7 +4488,7 @@ special ReduceAction
        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
@@ -4516,7 +4531,7 @@ special ReduceAction
        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
@@ -4562,7 +4577,7 @@ special ReduceAction
        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
@@ -4608,7 +4623,7 @@ special ReduceAction
        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
@@ -4657,7 +4672,7 @@ special ReduceAction
        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
@@ -4700,7 +4715,7 @@ special ReduceAction
        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
@@ -4746,7 +4761,7 @@ special ReduceAction
        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
@@ -4792,7 +4807,7 @@ special ReduceAction
        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
@@ -4841,7 +4856,7 @@ special ReduceAction
        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
@@ -4887,7 +4902,7 @@ special ReduceAction
        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
@@ -4936,7 +4951,7 @@ special ReduceAction
        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
@@ -4985,7 +5000,7 @@ special ReduceAction
        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
@@ -5037,7 +5052,7 @@ special ReduceAction
        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
@@ -5072,7 +5087,7 @@ special ReduceAction
        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
@@ -5110,7 +5125,7 @@ special ReduceAction
        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
@@ -5148,7 +5163,7 @@ special ReduceAction
        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
@@ -5189,7 +5204,7 @@ special ReduceAction
        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
@@ -5227,7 +5242,7 @@ special ReduceAction
        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
@@ -5268,7 +5283,7 @@ special ReduceAction
        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
@@ -5309,7 +5324,7 @@ special ReduceAction
        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
@@ -5353,7 +5368,7 @@ special ReduceAction
        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
@@ -5393,7 +5408,7 @@ special ReduceAction
        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
@@ -5436,7 +5451,7 @@ special ReduceAction
        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
@@ -5479,7 +5494,7 @@ special ReduceAction
        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
@@ -5525,7 +5540,7 @@ special ReduceAction
        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
@@ -5568,7 +5583,7 @@ special ReduceAction
        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
@@ -5614,7 +5629,7 @@ special ReduceAction
        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
@@ -5660,7 +5675,7 @@ special ReduceAction
        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
@@ -5709,7 +5724,7 @@ special ReduceAction
        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
@@ -5745,7 +5760,7 @@ special ReduceAction
        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
@@ -5784,7 +5799,7 @@ special ReduceAction
        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
@@ -5823,7 +5838,7 @@ special ReduceAction
        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
@@ -5865,7 +5880,7 @@ special ReduceAction
        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
@@ -5902,7 +5917,7 @@ special ReduceAction
        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
@@ -5942,7 +5957,7 @@ special ReduceAction
        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
@@ -5982,7 +5997,7 @@ special ReduceAction
        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
@@ -6025,7 +6040,7 @@ special ReduceAction
        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
@@ -6059,7 +6074,7 @@ special ReduceAction
        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
@@ -6096,7 +6111,7 @@ special ReduceAction
        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
@@ -6114,7 +6129,7 @@ special ReduceAction
        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
@@ -6135,7 +6150,7 @@ special ReduceAction
        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
@@ -6154,7 +6169,7 @@ special ReduceAction
        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
@@ -6176,7 +6191,7 @@ special ReduceAction
        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
@@ -6198,7 +6213,7 @@ special ReduceAction
        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
@@ -6223,7 +6238,7 @@ special ReduceAction
        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
@@ -6236,7 +6251,7 @@ special ReduceAction
        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
@@ -6254,7 +6269,7 @@ special ReduceAction
        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
@@ -6272,7 +6287,7 @@ special ReduceAction
        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
@@ -6290,7 +6305,7 @@ special ReduceAction
        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
@@ -6307,7 +6322,7 @@ special ReduceAction
        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
@@ -6324,7 +6339,7 @@ special ReduceAction
        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
@@ -6341,7 +6356,7 @@ special ReduceAction
        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
@@ -6358,7 +6373,7 @@ special ReduceAction
        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
@@ -6375,7 +6390,7 @@ special ReduceAction
        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
@@ -6392,7 +6407,7 @@ special ReduceAction
        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
@@ -6409,7 +6424,7 @@ special ReduceAction
        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
@@ -6426,7 +6441,7 @@ special ReduceAction
        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
@@ -6443,7 +6458,7 @@ special ReduceAction
        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
@@ -6460,7 +6475,7 @@ special ReduceAction
        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
@@ -6477,7 +6492,7 @@ special ReduceAction
        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
@@ -6494,7 +6509,41 @@ special ReduceAction
        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
+                                       var nodearraylist1 = p.pop
+                                       var tllnode2 = nodearraylist1
+                                       assert tllnode2 isa nullable TLl
+                                       var pmethidnode1: nullable ALlMethid = new ALlMethid.init_allmethid(
+                                               tllnode2
+                                       )
+                                       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
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tggnode2 = nodearraylist1
+                                       assert tggnode2 isa nullable TGg
+                                       var pmethidnode1: nullable AGgMethid = new AGgMethid.init_aggmethid(
+                                               tggnode2
+                                       )
+                                       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
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6514,8 +6563,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction162
-special ReduceAction
+private class ReduceAction164
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6531,8 +6580,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction163
-special ReduceAction
+private class ReduceAction165
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6552,8 +6601,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction164
-special ReduceAction
+private class ReduceAction166
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6577,8 +6626,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction165
-special ReduceAction
+private class ReduceAction167
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6602,8 +6651,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction166
-special ReduceAction
+private class ReduceAction168
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6631,8 +6680,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction167
-special ReduceAction
+private class ReduceAction169
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6653,8 +6702,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction168
-special ReduceAction
+private class ReduceAction170
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6679,8 +6728,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction169
-special ReduceAction
+private class ReduceAction171
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6701,8 +6750,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction170
-special ReduceAction
+private class ReduceAction172
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6727,8 +6776,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction171
-special ReduceAction
+private class ReduceAction173
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6746,8 +6795,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction172
-special ReduceAction
+private class ReduceAction174
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6769,8 +6818,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction173
-special ReduceAction
+private class ReduceAction175
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6787,8 +6836,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction174
-special ReduceAction
+private class ReduceAction176
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6809,8 +6858,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction175
-special ReduceAction
+private class ReduceAction177
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6830,8 +6879,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction176
-special ReduceAction
+private class ReduceAction178
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6855,8 +6904,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction177
-special ReduceAction
+private class ReduceAction179
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6876,8 +6925,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction178
-special ReduceAction
+private class ReduceAction180
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6901,8 +6950,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction179
-special ReduceAction
+private class ReduceAction181
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6916,8 +6965,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction180
-special ReduceAction
+private class ReduceAction182
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6931,8 +6980,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction181
-special ReduceAction
+private class ReduceAction183
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6950,8 +6999,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction182
-special ReduceAction
+private class ReduceAction184
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6972,8 +7021,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction183
-special ReduceAction
+private class ReduceAction185
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6997,8 +7046,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction184
-special ReduceAction
+private class ReduceAction186
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7014,8 +7063,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction185
-special ReduceAction
+private class ReduceAction187
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7042,8 +7091,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction186
-special ReduceAction
+private class ReduceAction188
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7073,8 +7122,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction187
-special ReduceAction
+private class ReduceAction189
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7105,8 +7154,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction188
-special ReduceAction
+private class ReduceAction190
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7140,8 +7189,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction189
-special ReduceAction
+private class ReduceAction191
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7173,8 +7222,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction190
-special ReduceAction
+private class ReduceAction192
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7209,8 +7258,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction191
-special ReduceAction
+private class ReduceAction193
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7227,8 +7276,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction192
-special ReduceAction
+private class ReduceAction194
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7247,8 +7296,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction193
-special ReduceAction
+private class ReduceAction195
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7270,8 +7319,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction194
-special ReduceAction
+private class ReduceAction196
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7298,8 +7347,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction195
-special ReduceAction
+private class ReduceAction197
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7329,8 +7378,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction196
-special ReduceAction
+private class ReduceAction198
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7346,8 +7395,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction197
-special ReduceAction
+private class ReduceAction199
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7367,8 +7416,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction198
-special ReduceAction
+private class ReduceAction200
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7382,8 +7431,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction200
-special ReduceAction
+private class ReduceAction202
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7397,8 +7446,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction201
-special ReduceAction
+private class ReduceAction203
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7414,8 +7463,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction202
-special ReduceAction
+private class ReduceAction204
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7430,8 +7479,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction203
-special ReduceAction
+private class ReduceAction205
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7443,8 +7492,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction204
-special ReduceAction
+private class ReduceAction206
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7464,8 +7513,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction205
-special ReduceAction
+private class ReduceAction207
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7489,8 +7538,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction206
-special ReduceAction
+private class ReduceAction208
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7511,8 +7560,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction207
-special ReduceAction
+private class ReduceAction209
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7537,8 +7586,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction208
-special ReduceAction
+private class ReduceAction210
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7551,8 +7600,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction211
-special ReduceAction
+private class ReduceAction213
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7569,8 +7618,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction212
-special ReduceAction
+private class ReduceAction214
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7590,8 +7639,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction213
-special ReduceAction
+private class ReduceAction215
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7609,8 +7658,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction214
-special ReduceAction
+private class ReduceAction216
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7631,8 +7680,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction215
-special ReduceAction
+private class ReduceAction217
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7653,8 +7702,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction216
-special ReduceAction
+private class ReduceAction218
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7678,8 +7727,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction217
-special ReduceAction
+private class ReduceAction219
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7695,8 +7744,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction218
-special ReduceAction
+private class ReduceAction220
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7714,8 +7763,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction219
-special ReduceAction
+private class ReduceAction221
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7736,8 +7785,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction220
-special ReduceAction
+private class ReduceAction222
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7758,8 +7807,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction221
-special ReduceAction
+private class ReduceAction223
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7783,8 +7832,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction228
-special ReduceAction
+private class ReduceAction230
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7814,8 +7863,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction229
-special ReduceAction
+private class ReduceAction231
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7842,8 +7891,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction230
-special ReduceAction
+private class ReduceAction232
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7877,8 +7926,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction231
-special ReduceAction
+private class ReduceAction233
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7909,8 +7958,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction232
-special ReduceAction
+private class ReduceAction234
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7933,8 +7982,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction233
-special ReduceAction
+private class ReduceAction235
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7960,8 +8009,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction234
-special ReduceAction
+private class ReduceAction236
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7989,8 +8038,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction235
-special ReduceAction
+private class ReduceAction237
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8015,8 +8064,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction236
-special ReduceAction
+private class ReduceAction238
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8036,8 +8085,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction237
-special ReduceAction
+private class ReduceAction239
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8053,8 +8102,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction238
-special ReduceAction
+private class ReduceAction240
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8074,8 +8123,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction239
-special ReduceAction
+private class ReduceAction241
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8109,11 +8158,13 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction240
-special ReduceAction
+private class ReduceAction242
+       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
@@ -8125,14 +8176,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,
@@ -8148,31 +8199,38 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction241
-special ReduceAction
+private class ReduceAction243
+       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 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,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               null
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
                                        )
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8180,34 +8238,30 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction242
-special ReduceAction
+private class ReduceAction244
+       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 listnode5 = new Array[Object]
+                                       var listnode4 = new Array[Object]
                                        var tbangnode2 = nodearraylist1
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       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 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,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
+                                               listnode4,
+                                               tkwdonode5,
+                                               pexprnode6,
                                                null
                                        )
                                        node_list = pclosuredefnode1
@@ -8216,29 +8270,36 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction243
-special ReduceAction
+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 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 pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
+                                       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,
-                                               listnode4,
-                                               null,
-                                               pexprnode6,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
                                                null
                                        )
                                        node_list = pclosuredefnode1
@@ -8247,12 +8308,11 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction244
-special ReduceAction
+private class ReduceAction246
+       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
@@ -8266,13 +8326,15 @@ special ReduceAction
                                        var listnode4 = nodearraylist3
                                        assert listnode4 isa Array[Object]
                                        listnode5 = concat(listnode5, listnode4)
-                                       var pexprnode7 = nodearraylist6
+                                       var tkwdonode6 = nodearraylist4
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist5
                                        assert pexprnode7 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tbangnode2,
                                                pclosureidnode3,
                                                listnode5,
-                                               null,
+                                               tkwdonode6,
                                                pexprnode7,
                                                null
                                        )
@@ -8282,8 +8344,8 @@ special ReduceAction
        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
@@ -8297,15 +8359,13 @@ special ReduceAction
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist5
                                        assert pexprnode6 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tbangnode2,
                                                pclosureidnode3,
                                                listnode4,
-                                               tkwdonode5,
+                                               null,
                                                pexprnode6,
                                                null
                                        )
@@ -8315,11 +8375,13 @@ special ReduceAction
        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
@@ -8331,7 +8393,149 @@ 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 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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+private class ReduceAction249
+       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 listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist3
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprnode7 = nodearraylist6
+                                       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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+private class ReduceAction250
+       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 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 = nodearraylist5
+                                       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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+private class ReduceAction252
+       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 listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist3
                                        assert listnode4 isa Array[Object]
                                        listnode5 = concat(listnode5, listnode4)
                                        var tkwdonode6 = nodearraylist4
@@ -8352,8 +8556,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction247
-special ReduceAction
+private class ReduceAction253
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8382,8 +8586,44 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction248
-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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+private class ReduceAction255
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8416,8 +8656,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction249
-special ReduceAction
+private class ReduceAction256
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8433,8 +8673,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction250
-special ReduceAction
+private class ReduceAction257
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8450,8 +8690,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction251
-special ReduceAction
+private class ReduceAction258
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8469,8 +8709,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction252
-special ReduceAction
+private class ReduceAction259
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8493,8 +8733,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction253
-special ReduceAction
+private class ReduceAction260
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8520,8 +8760,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction254
-special ReduceAction
+private class ReduceAction261
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8551,8 +8791,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction255
-special ReduceAction
+private class ReduceAction262
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8585,8 +8825,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction256
-special ReduceAction
+private class ReduceAction263
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8616,8 +8856,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction257
-special ReduceAction
+private class ReduceAction264
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8644,8 +8884,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction258
-special ReduceAction
+private class ReduceAction265
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8681,8 +8921,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction259
-special ReduceAction
+private class ReduceAction266
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8715,8 +8955,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction260
-special ReduceAction
+private class ReduceAction267
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8746,8 +8986,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction261
-special ReduceAction
+private class ReduceAction268
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8777,8 +9017,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction262
-special ReduceAction
+private class ReduceAction269
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8805,8 +9045,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction263
-special ReduceAction
+private class ReduceAction270
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8842,8 +9082,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction264
-special ReduceAction
+private class ReduceAction271
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8876,8 +9116,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction265
-special ReduceAction
+private class ReduceAction272
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8907,8 +9147,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction266
-special ReduceAction
+private class ReduceAction273
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8924,8 +9164,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction267
-special ReduceAction
+private class ReduceAction274
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8941,8 +9181,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction268
-special ReduceAction
+private class ReduceAction275
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8966,8 +9206,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction269
-special ReduceAction
+private class ReduceAction276
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8988,8 +9228,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction270
-special ReduceAction
+private class ReduceAction277
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9021,8 +9261,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction271
-special ReduceAction
+private class ReduceAction278
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9050,8 +9290,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction272
-special ReduceAction
+private class ReduceAction279
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9083,8 +9323,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction273
-special ReduceAction
+private class ReduceAction280
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9112,8 +9352,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction274
-special ReduceAction
+private class ReduceAction281
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9142,8 +9382,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction277
-special ReduceAction
+private class ReduceAction284
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9167,8 +9407,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction278
-special ReduceAction
+private class ReduceAction285
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9189,8 +9429,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction279
-special ReduceAction
+private class ReduceAction286
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9224,8 +9464,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction280
-special ReduceAction
+private class ReduceAction287
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9243,12 +9483,102 @@ special ReduceAction
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
                                        assert pexprnode5 isa nullable AExpr
-                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
-                                               tkwwhilenode2,
-                                               pexprnode3,
-                                               tkwdonode4,
+                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
+                                               tkwwhilenode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+       var _goto: Int
+       init(g: Int) do _goto = g
+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
+       var _goto: Int
+       init(g: Int) do _goto = g
+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 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)
@@ -9256,11 +9586,12 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction281
-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
@@ -9272,25 +9603,25 @@ 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)
@@ -9298,8 +9629,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction282
-special ReduceAction
+private class ReduceAction291
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9313,22 +9644,24 @@ 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
@@ -9337,8 +9670,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction283
-special ReduceAction
+private class ReduceAction292
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9364,8 +9697,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction284
-special ReduceAction
+private class ReduceAction293
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9394,8 +9727,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction285
-special ReduceAction
+private class ReduceAction294
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9417,8 +9750,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction286
-special ReduceAction
+private class ReduceAction295
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9443,8 +9776,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction287
-special ReduceAction
+private class ReduceAction296
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9457,8 +9790,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction291
-special ReduceAction
+private class ReduceAction300
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9486,8 +9819,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction293
-special ReduceAction
+private class ReduceAction302
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9528,8 +9861,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction295
-special ReduceAction
+private class ReduceAction304
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9551,8 +9884,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction296
-special ReduceAction
+private class ReduceAction305
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9574,8 +9907,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction297
-special ReduceAction
+private class ReduceAction306
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9598,8 +9931,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction299
-special ReduceAction
+private class ReduceAction308
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9620,8 +9953,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction301
-special ReduceAction
+private class ReduceAction310
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9643,8 +9976,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction302
-special ReduceAction
+private class ReduceAction311
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9666,8 +9999,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction303
-special ReduceAction
+private class ReduceAction312
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9689,8 +10022,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction304
-special ReduceAction
+private class ReduceAction313
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9712,8 +10045,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction305
-special ReduceAction
+private class ReduceAction314
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9735,8 +10068,31 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction306
-special ReduceAction
+private class ReduceAction315
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var pexprnode3 = nodearraylist4
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
+                                               pexprnode2,
+                                               pexprnode3
+                                       )
+                                       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
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9758,8 +10114,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction307
-special ReduceAction
+private class ReduceAction317
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9781,8 +10137,31 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction308
-special ReduceAction
+private class ReduceAction318
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var pexprnode3 = nodearraylist4
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
+                                               pexprnode2,
+                                               pexprnode3
+                                       )
+                                       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
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9804,8 +10183,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction309
-special ReduceAction
+private class ReduceAction320
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9827,8 +10206,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction311
-special ReduceAction
+private class ReduceAction322
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9850,8 +10229,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction312
-special ReduceAction
+private class ReduceAction323
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9873,8 +10252,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction314
-special ReduceAction
+private class ReduceAction325
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9896,8 +10275,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction315
-special ReduceAction
+private class ReduceAction326
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9919,8 +10298,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction316
-special ReduceAction
+private class ReduceAction327
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9942,8 +10321,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction318
-special ReduceAction
+private class ReduceAction329
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9964,8 +10343,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction319
-special ReduceAction
+private class ReduceAction330
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9986,8 +10365,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction321
-special ReduceAction
+private class ReduceAction332
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10015,8 +10394,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction322
-special ReduceAction
+private class ReduceAction333
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10042,8 +10421,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction323
-special ReduceAction
+private class ReduceAction334
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10066,8 +10445,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction324
-special ReduceAction
+private class ReduceAction335
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10089,8 +10468,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction325
-special ReduceAction
+private class ReduceAction336
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10109,8 +10488,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction332
-special ReduceAction
+private class ReduceAction343
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10134,8 +10513,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction333
-special ReduceAction
+private class ReduceAction344
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10168,8 +10547,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction334
-special ReduceAction
+private class ReduceAction345
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10196,8 +10575,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction335
-special ReduceAction
+private class ReduceAction346
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10224,8 +10603,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction336
-special ReduceAction
+private class ReduceAction347
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10243,8 +10622,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction337
-special ReduceAction
+private class ReduceAction348
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10260,8 +10639,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction338
-special ReduceAction
+private class ReduceAction349
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10277,8 +10656,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction339
-special ReduceAction
+private class ReduceAction350
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10294,8 +10673,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction340
-special ReduceAction
+private class ReduceAction351
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10311,8 +10690,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction341
-special ReduceAction
+private class ReduceAction352
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10328,8 +10707,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction342
-special ReduceAction
+private class ReduceAction353
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10345,8 +10724,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction343
-special ReduceAction
+private class ReduceAction354
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10362,8 +10741,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction344
-special ReduceAction
+private class ReduceAction355
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10379,8 +10758,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction347
-special ReduceAction
+private class ReduceAction358
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10411,8 +10790,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction348
-special ReduceAction
+private class ReduceAction359
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10448,8 +10827,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction349
-special ReduceAction
+private class ReduceAction360
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10473,8 +10852,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction350
-special ReduceAction
+private class ReduceAction361
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10502,8 +10881,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction351
-special ReduceAction
+private class ReduceAction362
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10526,8 +10905,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction352
-special ReduceAction
+private class ReduceAction363
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10543,8 +10922,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction354
-special ReduceAction
+private class ReduceAction365
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10560,8 +10939,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction355
-special ReduceAction
+private class ReduceAction366
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10577,8 +10956,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction356
-special ReduceAction
+private class ReduceAction367
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10598,8 +10977,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction357
-special ReduceAction
+private class ReduceAction368
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10623,8 +11002,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction359
-special ReduceAction
+private class ReduceAction370
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10635,8 +11014,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction362
-special ReduceAction
+private class ReduceAction373
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10652,8 +11031,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction367
-special ReduceAction
+private class ReduceAction378
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10668,42 +11047,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction368
-special 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)
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction369
-special 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
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction370
-special ReduceAction
+private class ReduceAction379
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10719,8 +11064,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction371
-special ReduceAction
+private class ReduceAction380
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10743,8 +11088,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction372
-special ReduceAction
+private class ReduceAction381
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10762,8 +11107,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction373
-special ReduceAction
+private class ReduceAction382
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10785,8 +11130,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction374
-special ReduceAction
+private class ReduceAction383
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10805,8 +11150,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction375
-special ReduceAction
+private class ReduceAction384
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10820,8 +11165,8 @@ special ReduceAction
        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
@@ -10835,8 +11180,8 @@ special ReduceAction
        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
@@ -10846,8 +11191,8 @@ special ReduceAction
        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
@@ -10865,8 +11210,8 @@ special ReduceAction
        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
@@ -10885,8 +11230,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction382
-special ReduceAction
+private class ReduceAction391
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10896,8 +11241,8 @@ special ReduceAction
        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
@@ -10909,8 +11254,8 @@ special ReduceAction
        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
@@ -10921,8 +11266,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction385
-special ReduceAction
+private class ReduceAction394
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10934,8 +11279,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction627
-special ReduceAction
+private class ReduceAction647
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10959,8 +11304,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction628
-special ReduceAction
+private class ReduceAction648
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10980,8 +11325,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction629
-special ReduceAction
+private class ReduceAction649
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11009,8 +11354,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction632
-special ReduceAction
+private class ReduceAction652
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11036,8 +11381,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction645
-special ReduceAction
+private class ReduceAction665
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11051,8 +11396,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction646
-special ReduceAction
+private class ReduceAction666
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11064,8 +11409,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction653
-special ReduceAction
+private class ReduceAction673
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11081,8 +11426,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction654
-special ReduceAction
+private class ReduceAction674
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11102,8 +11447,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction655
-special ReduceAction
+private class ReduceAction675
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11119,8 +11464,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction656
-special ReduceAction
+private class ReduceAction676
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11140,8 +11485,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction657
-special ReduceAction
+private class ReduceAction677
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11157,8 +11502,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction658
-special ReduceAction
+private class ReduceAction678
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11178,8 +11523,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction659
-special ReduceAction
+private class ReduceAction679
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11195,8 +11540,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction660
-special ReduceAction
+private class ReduceAction680
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11216,8 +11561,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction663
-special ReduceAction
+private class ReduceAction683
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11233,8 +11578,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction664
-special ReduceAction
+private class ReduceAction684
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11254,8 +11599,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction665
-special ReduceAction
+private class ReduceAction685
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11271,8 +11616,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction666
-special ReduceAction
+private class ReduceAction686
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11292,8 +11637,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction667
-special ReduceAction
+private class ReduceAction687
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11309,8 +11654,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction668
-special ReduceAction
+private class ReduceAction688
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11330,8 +11675,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction670
-special ReduceAction
+private class ReduceAction690
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11351,8 +11696,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction672
-special ReduceAction
+private class ReduceAction692
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11372,8 +11717,24 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction674
-special ReduceAction
+private class ReduceAction693
+       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
+       var _goto: Int
+       init(g: Int) do _goto = g
+end
+private class ReduceAction694
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11392,8 +11753,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction678
-special ReduceAction
+private class ReduceAction698
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11413,8 +11774,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction679
-special ReduceAction
+private class ReduceAction699
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11430,8 +11791,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction680
-special ReduceAction
+private class ReduceAction700
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11451,8 +11812,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction681
-special ReduceAction
+private class ReduceAction701
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11468,8 +11829,8 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction682
-special ReduceAction
+private class ReduceAction702
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null