parser: add << and >> operators
[nit.git] / src / parser / parser.nit
index 8fa1496..f624878 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
+special 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,24 +104,24 @@ 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]
+                                       action_type = parser_action(state, subindex+1)
+                                       action_value = parser_action(state, subindex+2)
                                        high = low -1 # break
                                end
                        end
@@ -320,54 +317,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,42 +374,42 @@ 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 ReduceAction245(37),
+                       new ReduceAction246(37),
                        new ReduceAction247(38),
                        new ReduceAction248(38),
-                       new ReduceAction249(39),
-                       new ReduceAction250(39),
-                       new ReduceAction251(40),
-                       new ReduceAction252(41),
-                       new ReduceAction253(41),
+                       new ReduceAction249(38),
+                       new ReduceAction250(38),
+                       new ReduceAction251(39),
+                       new ReduceAction252(39),
+                       new ReduceAction253(40),
                        new ReduceAction254(41),
                        new ReduceAction255(41),
-                       new ReduceAction256(42),
-                       new ReduceAction257(42),
+                       new ReduceAction256(41),
+                       new ReduceAction257(41),
                        new ReduceAction258(42),
                        new ReduceAction259(42),
                        new ReduceAction260(42),
@@ -421,43 +418,43 @@ special ParserTable
                        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 ReduceAction266(42),
+                       new ReduceAction267(42),
+                       new ReduceAction268(43),
+                       new ReduceAction269(43),
+                       new ReduceAction270(44),
+                       new ReduceAction271(44),
                        new ReduceAction272(45),
                        new ReduceAction273(45),
                        new ReduceAction274(45),
-                       new ReduceAction208(46),
+                       new ReduceAction275(45),
+                       new ReduceAction276(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 ReduceAction279(47),
+                       new ReduceAction280(47),
+                       new ReduceAction281(48),
+                       new ReduceAction282(48),
+                       new ReduceAction283(49),
+                       new ReduceAction284(49),
                        new ReduceAction285(50),
                        new ReduceAction286(50),
-                       new ReduceAction287(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 ReduceAction287(50),
+                       new ReduceAction288(50),
+                       new ReduceAction289(51),
+                       new ReduceAction205(52),
+                       new ReduceAction232(52),
+                       new ReduceAction233(52),
+                       new ReduceAction293(52),
+                       new ReduceAction205(53),
+                       new ReduceAction295(53),
+                       new ReduceAction205(54),
                        new ReduceAction297(54),
-                       new ReduceAction203(55),
-                       new ReduceAction299(55),
-                       new ReduceAction203(56),
-                       new ReduceAction301(56),
-                       new ReduceAction302(56),
+                       new ReduceAction298(54),
+                       new ReduceAction299(54),
+                       new ReduceAction205(55),
+                       new ReduceAction301(55),
+                       new ReduceAction205(56),
                        new ReduceAction303(56),
                        new ReduceAction304(56),
                        new ReduceAction305(56),
@@ -465,32 +462,32 @@ special ParserTable
                        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 ReduceAction310(56),
+                       new ReduceAction311(56),
+                       new ReduceAction312(56),
+                       new ReduceAction313(56),
+                       new ReduceAction205(57),
+                       new ReduceAction315(57),
+                       new ReduceAction316(57),
+                       new ReduceAction205(58),
+                       new ReduceAction318(58),
+                       new ReduceAction319(58),
+                       new ReduceAction320(58),
+                       new ReduceAction205(59),
+                       new ReduceAction322(59),
+                       new ReduceAction323(59),
+                       new ReduceAction205(60),
+                       new ReduceAction325(60),
+                       new ReduceAction326(60),
+                       new ReduceAction327(60),
+                       new ReduceAction328(61),
+                       new ReduceAction329(61),
+                       new ReduceAction230(61),
+                       new ReduceAction231(61),
                        new ReduceAction234(61),
                        new ReduceAction235(61),
-                       new ReduceAction332(61),
-                       new ReduceAction333(61),
-                       new ReduceAction334(61),
-                       new ReduceAction335(61),
+                       new ReduceAction236(61),
+                       new ReduceAction237(61),
                        new ReduceAction336(61),
                        new ReduceAction337(61),
                        new ReduceAction338(61),
@@ -500,48 +497,52 @@ special ParserTable
                        new ReduceAction342(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 ReduceAction205(61),
+                       new ReduceAction202(61),
+                       new ReduceAction351(61),
+                       new ReduceAction352(61),
+                       new ReduceAction353(62),
+                       new ReduceAction354(62),
+                       new ReduceAction355(63),
+                       new ReduceAction356(64),
+                       new ReduceAction355(65),
+                       new ReduceAction358(66),
+                       new ReduceAction359(67),
+                       new ReduceAction360(68),
+                       new ReduceAction361(68),
+                       new ReduceAction181(68),
+                       new ReduceAction363(68),
+                       new ReduceAction360(69),
+                       new ReduceAction361(69),
+                       new ReduceAction366(69),
+                       new ReduceAction181(69),
+                       new ReduceAction363(69),
+                       new ReduceAction360(70),
+                       new ReduceAction361(70),
+                       new ReduceAction371(71),
+                       new ReduceAction372(72),
+                       new ReduceAction373(72),
+                       new ReduceAction374(73),
+                       new ReduceAction375(73),
+                       new ReduceAction376(74),
+                       new ReduceAction377(74),
+                       new ReduceAction378(74),
+                       new ReduceAction379(75),
+                       new ReduceAction380(76),
+                       new ReduceAction381(77),
+                       new ReduceAction381(77),
+                       new ReduceAction383(78),
+                       new ReduceAction384(78),
                        new ReduceAction36(78),
-                       new ReduceAction382(79),
-                       new ReduceAction383(79),
-                       new ReduceAction384(80),
-                       new ReduceAction385(80),
-                       new ReduceAction377(80),
+                       new ReduceAction386(79),
+                       new ReduceAction387(79),
+                       new ReduceAction388(80),
+                       new ReduceAction389(80),
+                       new ReduceAction381(80),
                        new ReduceAction66(81),
                        new ReduceAction67(82),
                        new ReduceAction68(82),
@@ -553,26 +554,24 @@ special ParserTable
                        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 ReduceAction169(83),
+                       new ReduceAction170(83),
+                       new ReduceAction194(84),
+                       new ReduceAction195(84),
+                       new ReduceAction205(85),
+                       new ReduceAction232(85),
+                       new ReduceAction233(85),
+                       new ReduceAction205(86),
+                       new ReduceAction295(86),
+                       new ReduceAction205(87),
                        new ReduceAction297(87),
-                       new ReduceAction203(88),
-                       new ReduceAction299(88),
-                       new ReduceAction203(89),
-                       new ReduceAction301(89),
-                       new ReduceAction302(89),
+                       new ReduceAction298(87),
+                       new ReduceAction299(87),
+                       new ReduceAction205(88),
+                       new ReduceAction301(88),
+                       new ReduceAction205(89),
                        new ReduceAction303(89),
                        new ReduceAction304(89),
                        new ReduceAction305(89),
@@ -580,49 +579,51 @@ special ParserTable
                        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 ReduceAction310(89),
+                       new ReduceAction311(89),
+                       new ReduceAction312(89),
+                       new ReduceAction313(89),
+                       new ReduceAction205(90),
+                       new ReduceAction315(90),
+                       new ReduceAction316(90),
+                       new ReduceAction205(91),
+                       new ReduceAction318(91),
+                       new ReduceAction319(91),
+                       new ReduceAction320(91),
+                       new ReduceAction205(92),
+                       new ReduceAction322(92),
+                       new ReduceAction323(92),
+                       new ReduceAction205(93),
+                       new ReduceAction325(93),
+                       new ReduceAction326(93),
+                       new ReduceAction327(93),
+                       new ReduceAction328(94),
+                       new ReduceAction329(94),
+                       new ReduceAction230(94),
+                       new ReduceAction231(94),
                        new ReduceAction234(94),
                        new ReduceAction235(94),
-                       new ReduceAction333(94),
+                       new ReduceAction236(94),
+                       new ReduceAction237(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 ReduceAction203(94),
-                       new ReduceAction200(94),
+                       new ReduceAction345(94),
+                       new ReduceAction346(94),
                        new ReduceAction347(94),
                        new ReduceAction348(94),
-                       new ReduceAction200(95),
-                       new ReduceAction201(95),
+                       new ReduceAction205(94),
+                       new ReduceAction202(94),
+                       new ReduceAction351(94),
+                       new ReduceAction352(94),
                        new ReduceAction202(95),
                        new ReduceAction203(95),
-                       new ReduceAction203(96),
-                       new ReduceAction203(96),
-                       new ReduceAction211(96),
-                       new ReduceAction212(96),
+                       new ReduceAction204(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
                        new ReduceAction213(96),
                        new ReduceAction214(96),
                        new ReduceAction215(96),
@@ -632,35 +633,35 @@ special ParserTable
                        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 ReduceAction222(96),
+                       new ReduceAction223(96),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
+                       new ReduceAction205(96),
                        new ReduceAction230(96),
                        new ReduceAction231(96),
                        new ReduceAction232(96),
                        new ReduceAction233(96),
                        new ReduceAction234(96),
                        new ReduceAction235(96),
-                       new ReduceAction237(97),
-                       new ReduceAction238(97),
-                       new ReduceAction239(98),
-                       new ReduceAction240(98),
+                       new ReduceAction236(96),
+                       new ReduceAction237(96),
+                       new ReduceAction239(97),
+                       new ReduceAction240(97),
                        new ReduceAction241(98),
                        new ReduceAction242(98),
                        new ReduceAction243(98),
                        new ReduceAction244(98),
-                       new ReduceAction251(99),
-                       new ReduceAction252(100),
-                       new ReduceAction253(100),
+                       new ReduceAction245(98),
+                       new ReduceAction246(98),
+                       new ReduceAction253(99),
                        new ReduceAction254(100),
                        new ReduceAction255(100),
-                       new ReduceAction256(101),
-                       new ReduceAction257(101),
+                       new ReduceAction256(100),
+                       new ReduceAction257(100),
                        new ReduceAction258(101),
                        new ReduceAction259(101),
                        new ReduceAction260(101),
@@ -669,44 +670,44 @@ special ParserTable
                        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 ReduceAction203(109),
-                       new ReduceAction230(109),
-                       new ReduceAction231(109),
-                       new ReduceAction200(110),
-                       new ReduceAction201(110),
+                       new ReduceAction266(101),
+                       new ReduceAction267(101),
+                       new ReduceAction270(102),
+                       new ReduceAction271(102),
+                       new ReduceAction272(103),
+                       new ReduceAction279(104),
+                       new ReduceAction280(104),
+                       new ReduceAction281(105),
+                       new ReduceAction282(105),
+                       new ReduceAction283(106),
+                       new ReduceAction284(106),
+                       new ReduceAction285(107),
+                       new ReduceAction286(107),
+                       new ReduceAction205(108),
+                       new ReduceAction232(108),
+                       new ReduceAction233(108),
+                       new ReduceAction293(108),
+                       new ReduceAction205(109),
+                       new ReduceAction232(109),
+                       new ReduceAction233(109),
                        new ReduceAction202(110),
-                       new ReduceAction200(111),
-                       new ReduceAction201(111),
+                       new ReduceAction203(110),
+                       new ReduceAction204(110),
                        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 ReduceAction203(111),
+                       new ReduceAction204(111),
+                       new ReduceAction205(112),
+                       new ReduceAction232(112),
+                       new ReduceAction233(112),
+                       new ReduceAction205(113),
+                       new ReduceAction295(113),
+                       new ReduceAction205(114),
                        new ReduceAction297(114),
-                       new ReduceAction203(115),
-                       new ReduceAction299(115),
-                       new ReduceAction203(116),
-                       new ReduceAction301(116),
-                       new ReduceAction302(116),
+                       new ReduceAction298(114),
+                       new ReduceAction299(114),
+                       new ReduceAction205(115),
+                       new ReduceAction301(115),
+                       new ReduceAction205(116),
                        new ReduceAction303(116),
                        new ReduceAction304(116),
                        new ReduceAction305(116),
@@ -714,55 +715,57 @@ special ParserTable
                        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 ReduceAction232(121),
-                       new ReduceAction233(121),
+                       new ReduceAction310(116),
+                       new ReduceAction311(116),
+                       new ReduceAction312(116),
+                       new ReduceAction313(116),
+                       new ReduceAction205(117),
+                       new ReduceAction315(117),
+                       new ReduceAction316(117),
+                       new ReduceAction205(118),
+                       new ReduceAction318(118),
+                       new ReduceAction319(118),
+                       new ReduceAction320(118),
+                       new ReduceAction205(119),
+                       new ReduceAction322(119),
+                       new ReduceAction323(119),
+                       new ReduceAction205(120),
+                       new ReduceAction325(120),
+                       new ReduceAction326(120),
+                       new ReduceAction327(120),
+                       new ReduceAction328(121),
+                       new ReduceAction329(121),
+                       new ReduceAction230(121),
+                       new ReduceAction231(121),
                        new ReduceAction234(121),
                        new ReduceAction235(121),
-                       new ReduceAction332(121),
-                       new ReduceAction333(121),
+                       new ReduceAction236(121),
+                       new ReduceAction237(121),
+                       new ReduceAction336(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 ReduceAction345(121),
+                       new ReduceAction346(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 ReduceAction205(121),
+                       new ReduceAction351(121),
+                       new ReduceAction352(121),
+                       new ReduceAction205(122),
+                       new ReduceAction232(122),
+                       new ReduceAction233(122),
+                       new ReduceAction205(123),
+                       new ReduceAction295(123),
+                       new ReduceAction205(124),
                        new ReduceAction297(124),
-                       new ReduceAction203(125),
-                       new ReduceAction299(125),
-                       new ReduceAction203(126),
-                       new ReduceAction301(126),
-                       new ReduceAction302(126),
+                       new ReduceAction298(124),
+                       new ReduceAction299(124),
+                       new ReduceAction205(125),
+                       new ReduceAction301(125),
+                       new ReduceAction205(126),
                        new ReduceAction303(126),
                        new ReduceAction304(126),
                        new ReduceAction305(126),
@@ -770,74 +773,78 @@ special ParserTable
                        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 ReduceAction310(126),
+                       new ReduceAction311(126),
+                       new ReduceAction312(126),
+                       new ReduceAction313(126),
+                       new ReduceAction205(127),
+                       new ReduceAction315(127),
+                       new ReduceAction316(127),
+                       new ReduceAction205(128),
+                       new ReduceAction318(128),
+                       new ReduceAction319(128),
+                       new ReduceAction320(128),
+                       new ReduceAction205(129),
+                       new ReduceAction322(129),
+                       new ReduceAction323(129),
+                       new ReduceAction205(130),
+                       new ReduceAction325(130),
+                       new ReduceAction637(130),
+                       new ReduceAction638(131),
+                       new ReduceAction639(131),
+                       new ReduceAction234(131),
+                       new ReduceAction235(131),
+                       new ReduceAction642(131),
                        new ReduceAction337(131),
-                       new ReduceAction338(131),
-                       new ReduceAction339(131),
-                       new ReduceAction340(131),
                        new ReduceAction341(131),
                        new ReduceAction342(131),
                        new ReduceAction343(131),
                        new ReduceAction344(131),
-                       new ReduceAction203(131),
+                       new ReduceAction345(131),
+                       new ReduceAction346(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(131),
+                       new ReduceAction351(131),
+                       new ReduceAction352(131),
+                       new ReduceAction655(132),
+                       new ReduceAction656(132),
+                       new ReduceAction205(133),
+                       new ReduceAction232(133),
+                       new ReduceAction233(133),
+                       new ReduceAction205(134),
+                       new ReduceAction232(134),
+                       new ReduceAction233(134),
+                       new ReduceAction663(135),
+                       new ReduceAction664(135),
+                       new ReduceAction665(136),
+                       new ReduceAction666(136),
+                       new ReduceAction667(137),
+                       new ReduceAction668(137),
+                       new ReduceAction669(138),
+                       new ReduceAction670(138),
+                       new ReduceAction667(139),
+                       new ReduceAction668(139),
+                       new ReduceAction673(140),
+                       new ReduceAction674(140),
+                       new ReduceAction675(141),
+                       new ReduceAction676(141),
+                       new ReduceAction677(142),
+                       new ReduceAction678(142),
+                       new ReduceAction198(143),
+                       new ReduceAction680(143),
+                       new ReduceAction366(144),
+                       new ReduceAction682(144),
+                       new ReduceAction373(145),
+                       new ReduceAction684(145),
+                       new ReduceAction366(146),
+                       new ReduceAction682(146),
+                       new ReduceAction374(147),
+                       new ReduceAction688(147),
+                       new ReduceAction689(148),
+                       new ReduceAction690(148),
+                       new ReduceAction691(149),
+                       new ReduceAction692(149)
                )
        end
 end
@@ -6498,6 +6505,40 @@ special 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
+special 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
+special ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var tobranode2 = nodearraylist1
@@ -6514,7 +6555,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction162
+private class ReduceAction164
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6531,7 +6572,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction163
+private class ReduceAction165
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6552,7 +6593,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction164
+private class ReduceAction166
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6577,7 +6618,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction165
+private class ReduceAction167
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6602,7 +6643,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction166
+private class ReduceAction168
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6631,7 +6672,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction167
+private class ReduceAction169
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6653,7 +6694,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction168
+private class ReduceAction170
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6679,7 +6720,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction169
+private class ReduceAction171
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6701,7 +6742,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction170
+private class ReduceAction172
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6727,7 +6768,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction171
+private class ReduceAction173
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6746,7 +6787,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction172
+private class ReduceAction174
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6769,7 +6810,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction173
+private class ReduceAction175
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6787,7 +6828,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction174
+private class ReduceAction176
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6809,7 +6850,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction175
+private class ReduceAction177
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6830,7 +6871,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction176
+private class ReduceAction178
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6855,7 +6896,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction177
+private class ReduceAction179
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6876,7 +6917,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction178
+private class ReduceAction180
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6901,7 +6942,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction179
+private class ReduceAction181
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6916,7 +6957,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction180
+private class ReduceAction182
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6931,7 +6972,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction181
+private class ReduceAction183
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6950,7 +6991,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction182
+private class ReduceAction184
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6972,7 +7013,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction183
+private class ReduceAction185
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -6997,7 +7038,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction184
+private class ReduceAction186
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7014,7 +7055,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction185
+private class ReduceAction187
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7042,7 +7083,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction186
+private class ReduceAction188
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7073,7 +7114,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction187
+private class ReduceAction189
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7105,7 +7146,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction188
+private class ReduceAction190
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7140,7 +7181,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction189
+private class ReduceAction191
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7173,7 +7214,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction190
+private class ReduceAction192
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7209,7 +7250,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction191
+private class ReduceAction193
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7227,7 +7268,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction192
+private class ReduceAction194
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7247,7 +7288,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction193
+private class ReduceAction195
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7270,7 +7311,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction194
+private class ReduceAction196
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7298,7 +7339,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction195
+private class ReduceAction197
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7329,7 +7370,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction196
+private class ReduceAction198
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7346,7 +7387,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction197
+private class ReduceAction199
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7367,7 +7408,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction198
+private class ReduceAction200
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7382,7 +7423,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction200
+private class ReduceAction202
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7397,7 +7438,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction201
+private class ReduceAction203
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7414,7 +7455,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction202
+private class ReduceAction204
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7430,7 +7471,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction203
+private class ReduceAction205
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7443,7 +7484,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction204
+private class ReduceAction206
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7464,7 +7505,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction205
+private class ReduceAction207
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7489,7 +7530,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction206
+private class ReduceAction208
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7511,7 +7552,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction207
+private class ReduceAction209
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7537,7 +7578,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction208
+private class ReduceAction210
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7551,7 +7592,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction211
+private class ReduceAction213
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7569,7 +7610,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction212
+private class ReduceAction214
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7590,7 +7631,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction213
+private class ReduceAction215
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7609,7 +7650,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction214
+private class ReduceAction216
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7631,7 +7672,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction215
+private class ReduceAction217
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7653,7 +7694,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction216
+private class ReduceAction218
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7678,7 +7719,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction217
+private class ReduceAction219
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7695,7 +7736,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction218
+private class ReduceAction220
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7714,7 +7755,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction219
+private class ReduceAction221
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7736,7 +7777,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction220
+private class ReduceAction222
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7758,7 +7799,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction221
+private class ReduceAction223
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7783,7 +7824,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction228
+private class ReduceAction230
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7814,7 +7855,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction229
+private class ReduceAction231
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7842,7 +7883,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction230
+private class ReduceAction232
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7877,7 +7918,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction231
+private class ReduceAction233
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7909,7 +7950,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction232
+private class ReduceAction234
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7933,7 +7974,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction233
+private class ReduceAction235
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7960,7 +8001,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction234
+private class ReduceAction236
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -7989,7 +8030,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction235
+private class ReduceAction237
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8015,7 +8056,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction236
+private class ReduceAction238
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8036,7 +8077,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction237
+private class ReduceAction239
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8053,7 +8094,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction238
+private class ReduceAction240
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8074,7 +8115,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction239
+private class ReduceAction241
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8109,7 +8150,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction240
+private class ReduceAction242
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8148,7 +8189,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction241
+private class ReduceAction243
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8180,7 +8221,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction242
+private class ReduceAction244
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8216,7 +8257,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction243
+private class ReduceAction245
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8247,7 +8288,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction244
+private class ReduceAction246
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8282,7 +8323,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction245
+private class ReduceAction247
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8315,7 +8356,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction246
+private class ReduceAction248
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8352,7 +8393,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction247
+private class ReduceAction249
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8382,7 +8423,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction248
+private class ReduceAction250
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8416,7 +8457,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction249
+private class ReduceAction251
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8433,7 +8474,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction250
+private class ReduceAction252
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8450,7 +8491,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction251
+private class ReduceAction253
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8469,7 +8510,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction252
+private class ReduceAction254
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8493,7 +8534,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction253
+private class ReduceAction255
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8520,7 +8561,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction254
+private class ReduceAction256
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8551,7 +8592,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction255
+private class ReduceAction257
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8585,7 +8626,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction256
+private class ReduceAction258
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8616,7 +8657,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction257
+private class ReduceAction259
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8644,7 +8685,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction258
+private class ReduceAction260
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8681,7 +8722,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction259
+private class ReduceAction261
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8715,7 +8756,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction260
+private class ReduceAction262
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8746,7 +8787,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction261
+private class ReduceAction263
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8777,7 +8818,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction262
+private class ReduceAction264
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8805,7 +8846,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction263
+private class ReduceAction265
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8842,7 +8883,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction264
+private class ReduceAction266
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8876,7 +8917,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction265
+private class ReduceAction267
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8907,7 +8948,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction266
+private class ReduceAction268
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8924,7 +8965,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction267
+private class ReduceAction269
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8941,7 +8982,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction268
+private class ReduceAction270
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8966,7 +9007,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction269
+private class ReduceAction271
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -8988,7 +9029,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction270
+private class ReduceAction272
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9021,7 +9062,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction271
+private class ReduceAction273
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9050,7 +9091,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction272
+private class ReduceAction274
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9083,7 +9124,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction273
+private class ReduceAction275
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9112,7 +9153,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction274
+private class ReduceAction276
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9142,7 +9183,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction277
+private class ReduceAction279
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9167,7 +9208,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction278
+private class ReduceAction280
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9189,7 +9230,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction279
+private class ReduceAction281
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9224,7 +9265,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction280
+private class ReduceAction282
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9256,7 +9297,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction281
+private class ReduceAction283
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9298,7 +9339,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction282
+private class ReduceAction284
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9337,7 +9378,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction283
+private class ReduceAction285
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9364,7 +9405,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction284
+private class ReduceAction286
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9394,7 +9435,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction285
+private class ReduceAction287
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9417,7 +9458,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction286
+private class ReduceAction288
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9443,7 +9484,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction287
+private class ReduceAction289
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9457,7 +9498,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction291
+private class ReduceAction293
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9486,7 +9527,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction293
+private class ReduceAction295
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9528,7 +9569,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction295
+private class ReduceAction297
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9551,7 +9592,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction296
+private class ReduceAction298
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9574,7 +9615,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction297
+private class ReduceAction299
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9598,7 +9639,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction299
+private class ReduceAction301
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9620,7 +9661,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction301
+private class ReduceAction303
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9643,7 +9684,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction302
+private class ReduceAction304
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9666,7 +9707,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction303
+private class ReduceAction305
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9689,7 +9730,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction304
+private class ReduceAction306
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9712,7 +9753,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction305
+private class ReduceAction307
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9735,7 +9776,30 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction306
+private class ReduceAction308
+special 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 ReduceAction309
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9758,7 +9822,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction307
+private class ReduceAction310
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9781,7 +9845,30 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction308
+private class ReduceAction311
+special 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 ReduceAction312
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9804,7 +9891,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction309
+private class ReduceAction313
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9827,7 +9914,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction311
+private class ReduceAction315
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9850,7 +9937,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction312
+private class ReduceAction316
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9873,7 +9960,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction314
+private class ReduceAction318
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9896,7 +9983,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction315
+private class ReduceAction319
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9919,7 +10006,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction316
+private class ReduceAction320
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9942,7 +10029,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction318
+private class ReduceAction322
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9964,7 +10051,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction319
+private class ReduceAction323
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -9986,7 +10073,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction321
+private class ReduceAction325
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10015,7 +10102,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction322
+private class ReduceAction326
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10042,7 +10129,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction323
+private class ReduceAction327
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10066,7 +10153,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction324
+private class ReduceAction328
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10089,7 +10176,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction325
+private class ReduceAction329
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10109,7 +10196,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction332
+private class ReduceAction336
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10134,7 +10221,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction333
+private class ReduceAction337
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10168,7 +10255,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction334
+private class ReduceAction338
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10196,7 +10283,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction335
+private class ReduceAction339
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10224,7 +10311,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction336
+private class ReduceAction340
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10243,7 +10330,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction337
+private class ReduceAction341
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10260,7 +10347,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction338
+private class ReduceAction342
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10277,7 +10364,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction339
+private class ReduceAction343
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10294,7 +10381,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction340
+private class ReduceAction344
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10311,7 +10398,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction341
+private class ReduceAction345
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10328,7 +10415,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction342
+private class ReduceAction346
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10345,7 +10432,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction343
+private class ReduceAction347
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10362,7 +10449,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction344
+private class ReduceAction348
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10379,7 +10466,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction347
+private class ReduceAction351
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10411,7 +10498,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction348
+private class ReduceAction352
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10448,7 +10535,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction349
+private class ReduceAction353
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10473,7 +10560,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction350
+private class ReduceAction354
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10502,7 +10589,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction351
+private class ReduceAction355
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10526,7 +10613,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction352
+private class ReduceAction356
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10543,7 +10630,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction354
+private class ReduceAction358
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10560,7 +10647,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction355
+private class ReduceAction359
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10577,7 +10664,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction356
+private class ReduceAction360
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10598,7 +10685,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction357
+private class ReduceAction361
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10623,7 +10710,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction359
+private class ReduceAction363
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10635,7 +10722,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction362
+private class ReduceAction366
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10652,7 +10739,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction367
+private class ReduceAction371
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10668,7 +10755,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction368
+private class ReduceAction372
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10686,7 +10773,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction369
+private class ReduceAction373
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10702,7 +10789,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction370
+private class ReduceAction374
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10719,7 +10806,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction371
+private class ReduceAction375
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10743,7 +10830,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction372
+private class ReduceAction376
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10762,7 +10849,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction373
+private class ReduceAction377
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10785,7 +10872,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction374
+private class ReduceAction378
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10805,7 +10892,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction375
+private class ReduceAction379
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10820,7 +10907,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction376
+private class ReduceAction380
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10835,7 +10922,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction377
+private class ReduceAction381
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10846,7 +10933,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction379
+private class ReduceAction383
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10865,7 +10952,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction380
+private class ReduceAction384
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10885,7 +10972,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction382
+private class ReduceAction386
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10896,7 +10983,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction383
+private class ReduceAction387
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10909,7 +10996,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction384
+private class ReduceAction388
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10921,7 +11008,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction385
+private class ReduceAction389
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10934,7 +11021,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction627
+private class ReduceAction637
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10959,7 +11046,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction628
+private class ReduceAction638
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -10980,7 +11067,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction629
+private class ReduceAction639
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11009,7 +11096,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction632
+private class ReduceAction642
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11036,7 +11123,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction645
+private class ReduceAction655
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11051,7 +11138,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction646
+private class ReduceAction656
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11064,7 +11151,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction653
+private class ReduceAction663
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11081,7 +11168,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction654
+private class ReduceAction664
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11102,7 +11189,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction655
+private class ReduceAction665
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11119,7 +11206,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction656
+private class ReduceAction666
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11140,7 +11227,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction657
+private class ReduceAction667
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11157,7 +11244,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction658
+private class ReduceAction668
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11178,7 +11265,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction659
+private class ReduceAction669
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11195,7 +11282,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction660
+private class ReduceAction670
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11216,7 +11303,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction663
+private class ReduceAction673
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11233,7 +11320,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction664
+private class ReduceAction674
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11254,7 +11341,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction665
+private class ReduceAction675
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11271,7 +11358,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction666
+private class ReduceAction676
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11292,7 +11379,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction667
+private class ReduceAction677
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11309,7 +11396,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction668
+private class ReduceAction678
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11330,7 +11417,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction670
+private class ReduceAction680
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11351,7 +11438,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction672
+private class ReduceAction682
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11372,7 +11459,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction674
+private class ReduceAction684
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11392,7 +11479,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction678
+private class ReduceAction688
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11413,7 +11500,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction679
+private class ReduceAction689
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11430,7 +11517,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction680
+private class ReduceAction690
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11451,7 +11538,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction681
+private class ReduceAction691
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -11468,7 +11555,7 @@ special ReduceAction
        var _goto: Int
        init(g: Int) do _goto = g
 end
-private class ReduceAction682
+private class ReduceAction692
 special ReduceAction
        redef fun action(p: Parser)
        do