Merge commit 'b7e675f'
[nit.git] / src / parser / parser.nit
index 9e11d70..9a2bd02 100644 (file)
@@ -1,6 +1,6 @@
 # Parser.
 # This file was generated by SableCC (http://www.sablecc.org/).
-package parser
+module parser
 
 intrude import parser_prod
 import tables
@@ -703,1261 +703,1019 @@ class Parser
                        new ReduceAction548(20),
                        new ReduceAction549(20),
                        new ReduceAction550(20),
-                       new ReduceAction551(20),
-                       new ReduceAction552(20),
-                       new ReduceAction553(20),
-                       new ReduceAction554(20),
-                       new ReduceAction555(20),
-                       new ReduceAction556(20),
-                       new ReduceAction557(21),
-                       new ReduceAction558(21),
-                       new ReduceAction559(21),
-                       new ReduceAction560(21),
-                       new ReduceAction561(21),
-                       new ReduceAction562(21),
-                       new ReduceAction563(22),
-                       new ReduceAction564(22),
-                       new ReduceAction565(23),
-                       new ReduceAction566(24),
-                       new ReduceAction567(24),
-                       new ReduceAction568(24),
-                       new ReduceAction569(24),
-                       new ReduceAction570(24),
-                       new ReduceAction571(24),
-                       new ReduceAction572(25),
-                       new ReduceAction573(26),
-                       new ReduceAction574(26),
-                       new ReduceAction575(26),
-                       new ReduceAction576(26),
-                       new ReduceAction577(26),
-                       new ReduceAction578(26),
-                       new ReduceAction579(27),
-                       new ReduceAction580(28),
-                       new ReduceAction581(28),
-                       new ReduceAction582(29),
-                       new ReduceAction583(30),
-                       new ReduceAction583(30),
-                       new ReduceAction585(30),
-                       new ReduceAction586(31),
-                       new ReduceAction587(31),
-                       new ReduceAction588(31),
-                       new ReduceAction589(32),
-                       new ReduceAction590(32),
-                       new ReduceAction591(32),
-                       new ReduceAction592(33),
-                       new ReduceAction593(34),
-                       new ReduceAction594(34),
-                       new ReduceAction595(35),
-                       new ReduceAction596(36),
-                       new ReduceAction597(36),
-                       new ReduceAction598(36),
-                       new ReduceAction599(36),
-                       new ReduceAction600(36),
-                       new ReduceAction601(36),
-                       new ReduceAction602(36),
-                       new ReduceAction603(36),
-                       new ReduceAction604(37),
-                       new ReduceAction605(37),
-                       new ReduceAction606(38),
-                       new ReduceAction606(39),
-                       new ReduceAction608(40),
-                       new ReduceAction609(40),
-                       new ReduceAction610(40),
-                       new ReduceAction611(40),
-                       new ReduceAction612(41),
-                       new ReduceAction613(41),
+                       new ReduceAction551(21),
+                       new ReduceAction552(21),
+                       new ReduceAction553(22),
+                       new ReduceAction554(23),
+                       new ReduceAction555(23),
+                       new ReduceAction556(23),
+                       new ReduceAction557(23),
+                       new ReduceAction558(23),
+                       new ReduceAction559(23),
+                       new ReduceAction560(24),
+                       new ReduceAction561(25),
+                       new ReduceAction562(25),
+                       new ReduceAction563(26),
+                       new ReduceAction564(27),
+                       new ReduceAction564(27),
+                       new ReduceAction566(27),
+                       new ReduceAction567(28),
+                       new ReduceAction568(28),
+                       new ReduceAction569(28),
+                       new ReduceAction570(28),
+                       new ReduceAction571(29),
+                       new ReduceAction572(29),
+                       new ReduceAction573(29),
+                       new ReduceAction574(29),
+                       new ReduceAction575(29),
+                       new ReduceAction576(29),
+                       new ReduceAction577(30),
+                       new ReduceAction578(31),
+                       new ReduceAction579(31),
+                       new ReduceAction580(32),
+                       new ReduceAction581(33),
+                       new ReduceAction582(33),
+                       new ReduceAction583(33),
+                       new ReduceAction584(33),
+                       new ReduceAction585(33),
+                       new ReduceAction586(33),
+                       new ReduceAction587(33),
+                       new ReduceAction588(33),
+                       new ReduceAction589(34),
+                       new ReduceAction590(34),
+                       new ReduceAction591(35),
+                       new ReduceAction591(36),
+                       new ReduceAction593(37),
+                       new ReduceAction594(37),
+                       new ReduceAction595(37),
+                       new ReduceAction596(37),
+                       new ReduceAction597(38),
+                       new ReduceAction598(38),
+                       new ReduceAction599(39),
+                       new ReduceAction600(39),
+                       new ReduceAction601(40),
+                       new ReduceAction602(40),
+                       new ReduceAction593(41),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction606(42),
+                       new ReduceAction607(42),
+                       new ReduceAction608(42),
+                       new ReduceAction609(42),
+                       new ReduceAction610(42),
+                       new ReduceAction611(42),
+                       new ReduceAction612(42),
+                       new ReduceAction613(42),
                        new ReduceAction614(42),
                        new ReduceAction615(42),
-                       new ReduceAction616(43),
-                       new ReduceAction617(43),
-                       new ReduceAction608(44),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction621(45),
-                       new ReduceAction622(45),
-                       new ReduceAction623(45),
-                       new ReduceAction624(45),
-                       new ReduceAction625(45),
-                       new ReduceAction626(45),
-                       new ReduceAction627(45),
-                       new ReduceAction628(45),
-                       new ReduceAction629(45),
-                       new ReduceAction630(45),
-                       new ReduceAction631(45),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction611(45),
-                       new ReduceAction638(45),
-                       new ReduceAction639(45),
-                       new ReduceAction640(45),
-                       new ReduceAction641(45),
-                       new ReduceAction640(45),
-                       new ReduceAction643(45),
-                       new ReduceAction644(45),
-                       new ReduceAction643(45),
+                       new ReduceAction616(42),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction596(42),
+                       new ReduceAction623(42),
+                       new ReduceAction624(42),
+                       new ReduceAction625(42),
+                       new ReduceAction626(42),
+                       new ReduceAction625(42),
+                       new ReduceAction628(42),
+                       new ReduceAction629(42),
+                       new ReduceAction628(42),
+                       new ReduceAction631(42),
+                       new ReduceAction632(42),
+                       new ReduceAction633(42),
+                       new ReduceAction634(42),
+                       new ReduceAction635(42),
+                       new ReduceAction636(42),
+                       new ReduceAction637(42),
+                       new ReduceAction638(42),
+                       new ReduceAction637(42),
+                       new ReduceAction640(42),
+                       new ReduceAction641(42),
+                       new ReduceAction640(42),
+                       new ReduceAction643(42),
+                       new ReduceAction644(43),
+                       new ReduceAction645(44),
                        new ReduceAction646(45),
                        new ReduceAction647(45),
                        new ReduceAction648(45),
                        new ReduceAction649(45),
-                       new ReduceAction648(45),
+                       new ReduceAction650(45),
                        new ReduceAction651(45),
                        new ReduceAction652(45),
-                       new ReduceAction651(45),
-                       new ReduceAction654(45),
-                       new ReduceAction655(45),
-                       new ReduceAction656(45),
-                       new ReduceAction657(45),
-                       new ReduceAction658(45),
-                       new ReduceAction659(45),
-                       new ReduceAction660(45),
-                       new ReduceAction661(45),
-                       new ReduceAction660(45),
-                       new ReduceAction663(45),
-                       new ReduceAction664(45),
-                       new ReduceAction663(45),
-                       new ReduceAction666(45),
+                       new ReduceAction653(45),
+                       new ReduceAction654(46),
+                       new ReduceAction655(46),
+                       new ReduceAction656(46),
+                       new ReduceAction657(46),
+                       new ReduceAction656(46),
+                       new ReduceAction659(46),
+                       new ReduceAction660(46),
+                       new ReduceAction659(46),
+                       new ReduceAction662(46),
+                       new ReduceAction663(46),
+                       new ReduceAction664(46),
+                       new ReduceAction665(46),
+                       new ReduceAction664(46),
                        new ReduceAction667(46),
-                       new ReduceAction668(47),
-                       new ReduceAction669(47),
-                       new ReduceAction670(48),
-                       new ReduceAction671(48),
-                       new ReduceAction672(48),
-                       new ReduceAction673(48),
-                       new ReduceAction674(48),
-                       new ReduceAction675(48),
-                       new ReduceAction676(48),
-                       new ReduceAction677(48),
-                       new ReduceAction678(48),
-                       new ReduceAction679(49),
-                       new ReduceAction680(49),
-                       new ReduceAction681(49),
-                       new ReduceAction682(49),
-                       new ReduceAction683(49),
-                       new ReduceAction684(49),
-                       new ReduceAction685(50),
-                       new ReduceAction686(50),
-                       new ReduceAction687(51),
-                       new ReduceAction688(52),
-                       new ReduceAction689(52),
-                       new ReduceAction690(52),
-                       new ReduceAction691(52),
-                       new ReduceAction692(52),
-                       new ReduceAction693(52),
-                       new ReduceAction694(52),
-                       new ReduceAction695(52),
-                       new ReduceAction696(53),
-                       new ReduceAction697(53),
-                       new ReduceAction698(53),
-                       new ReduceAction699(53),
-                       new ReduceAction698(53),
-                       new ReduceAction701(53),
-                       new ReduceAction702(53),
-                       new ReduceAction701(53),
+                       new ReduceAction668(46),
+                       new ReduceAction667(46),
+                       new ReduceAction670(46),
+                       new ReduceAction671(46),
+                       new ReduceAction672(46),
+                       new ReduceAction673(46),
+                       new ReduceAction674(46),
+                       new ReduceAction673(46),
+                       new ReduceAction676(46),
+                       new ReduceAction677(46),
+                       new ReduceAction676(46),
+                       new ReduceAction679(46),
+                       new ReduceAction680(46),
+                       new ReduceAction681(46),
+                       new ReduceAction682(46),
+                       new ReduceAction681(46),
+                       new ReduceAction684(46),
+                       new ReduceAction685(46),
+                       new ReduceAction684(46),
+                       new ReduceAction687(46),
+                       new ReduceAction688(47),
+                       new ReduceAction689(47),
+                       new ReduceAction690(48),
+                       new ReduceAction691(48),
+                       new ReduceAction692(49),
+                       new ReduceAction693(49),
+                       new ReduceAction694(49),
+                       new ReduceAction695(49),
+                       new ReduceAction696(49),
+                       new ReduceAction593(50),
+                       new ReduceAction595(50),
+                       new ReduceAction699(51),
+                       new ReduceAction700(51),
+                       new ReduceAction701(52),
+                       new ReduceAction702(52),
+                       new ReduceAction703(53),
                        new ReduceAction704(53),
                        new ReduceAction705(53),
                        new ReduceAction706(53),
-                       new ReduceAction707(53),
-                       new ReduceAction706(53),
-                       new ReduceAction709(53),
-                       new ReduceAction710(53),
-                       new ReduceAction709(53),
-                       new ReduceAction712(53),
-                       new ReduceAction713(53),
-                       new ReduceAction714(53),
-                       new ReduceAction715(53),
-                       new ReduceAction716(53),
-                       new ReduceAction715(53),
-                       new ReduceAction718(53),
-                       new ReduceAction719(53),
-                       new ReduceAction718(53),
-                       new ReduceAction721(53),
-                       new ReduceAction722(53),
-                       new ReduceAction723(53),
-                       new ReduceAction724(53),
-                       new ReduceAction723(53),
-                       new ReduceAction726(53),
-                       new ReduceAction727(53),
-                       new ReduceAction726(53),
-                       new ReduceAction729(53),
-                       new ReduceAction730(54),
-                       new ReduceAction731(54),
-                       new ReduceAction732(55),
-                       new ReduceAction733(55),
-                       new ReduceAction734(56),
-                       new ReduceAction735(56),
-                       new ReduceAction736(56),
-                       new ReduceAction737(56),
-                       new ReduceAction738(56),
-                       new ReduceAction608(57),
-                       new ReduceAction610(57),
-                       new ReduceAction741(58),
-                       new ReduceAction742(58),
-                       new ReduceAction743(59),
-                       new ReduceAction744(59),
-                       new ReduceAction745(60),
-                       new ReduceAction746(60),
-                       new ReduceAction747(60),
-                       new ReduceAction748(60),
-                       new ReduceAction749(61),
-                       new ReduceAction750(61),
-                       new ReduceAction751(61),
-                       new ReduceAction752(61),
-                       new ReduceAction753(62),
-                       new ReduceAction611(63),
-                       new ReduceAction646(63),
-                       new ReduceAction647(63),
-                       new ReduceAction648(63),
-                       new ReduceAction649(63),
-                       new ReduceAction648(63),
-                       new ReduceAction651(63),
-                       new ReduceAction652(63),
-                       new ReduceAction651(63),
-                       new ReduceAction763(63),
-                       new ReduceAction611(64),
-                       new ReduceAction765(64),
-                       new ReduceAction611(65),
-                       new ReduceAction767(65),
-                       new ReduceAction768(65),
-                       new ReduceAction769(65),
-                       new ReduceAction611(66),
-                       new ReduceAction771(66),
-                       new ReduceAction611(67),
-                       new ReduceAction773(67),
-                       new ReduceAction774(67),
-                       new ReduceAction775(67),
-                       new ReduceAction776(67),
-                       new ReduceAction777(67),
-                       new ReduceAction778(67),
-                       new ReduceAction779(67),
-                       new ReduceAction780(67),
-                       new ReduceAction781(67),
-                       new ReduceAction782(67),
-                       new ReduceAction783(67),
-                       new ReduceAction611(68),
-                       new ReduceAction785(68),
-                       new ReduceAction786(68),
-                       new ReduceAction611(69),
-                       new ReduceAction788(69),
-                       new ReduceAction789(69),
-                       new ReduceAction790(69),
-                       new ReduceAction611(70),
-                       new ReduceAction792(70),
-                       new ReduceAction793(70),
-                       new ReduceAction611(71),
-                       new ReduceAction795(71),
-                       new ReduceAction796(71),
-                       new ReduceAction797(71),
-                       new ReduceAction798(71),
-                       new ReduceAction799(71),
-                       new ReduceAction798(71),
-                       new ReduceAction801(71),
-                       new ReduceAction802(71),
-                       new ReduceAction801(71),
-                       new ReduceAction804(72),
-                       new ReduceAction805(72),
-                       new ReduceAction806(72),
-                       new ReduceAction807(72),
-                       new ReduceAction806(72),
-                       new ReduceAction809(72),
-                       new ReduceAction810(72),
-                       new ReduceAction809(72),
-                       new ReduceAction638(72),
-                       new ReduceAction639(72),
-                       new ReduceAction640(72),
-                       new ReduceAction641(72),
-                       new ReduceAction640(72),
-                       new ReduceAction643(72),
-                       new ReduceAction644(72),
-                       new ReduceAction643(72),
-                       new ReduceAction654(72),
-                       new ReduceAction655(72),
-                       new ReduceAction656(72),
-                       new ReduceAction657(72),
-                       new ReduceAction658(72),
-                       new ReduceAction659(72),
-                       new ReduceAction826(72),
-                       new ReduceAction827(72),
-                       new ReduceAction828(72),
-                       new ReduceAction829(72),
-                       new ReduceAction828(72),
-                       new ReduceAction831(72),
-                       new ReduceAction832(72),
-                       new ReduceAction833(72),
-                       new ReduceAction834(72),
-                       new ReduceAction835(72),
-                       new ReduceAction836(72),
-                       new ReduceAction837(72),
-                       new ReduceAction838(72),
-                       new ReduceAction839(72),
-                       new ReduceAction840(72),
-                       new ReduceAction841(72),
-                       new ReduceAction842(72),
-                       new ReduceAction843(72),
-                       new ReduceAction844(72),
-                       new ReduceAction845(72),
-                       new ReduceAction846(72),
-                       new ReduceAction847(72),
-                       new ReduceAction848(72),
-                       new ReduceAction849(72),
-                       new ReduceAction850(72),
-                       new ReduceAction851(72),
-                       new ReduceAction852(72),
-                       new ReduceAction611(72),
-                       new ReduceAction854(72),
-                       new ReduceAction855(72),
-                       new ReduceAction856(72),
-                       new ReduceAction857(72),
-                       new ReduceAction858(73),
-                       new ReduceAction859(73),
-                       new ReduceAction860(73),
-                       new ReduceAction861(73),
-                       new ReduceAction862(74),
-                       new ReduceAction863(75),
-                       new ReduceAction862(76),
-                       new ReduceAction865(77),
-                       new ReduceAction866(78),
-                       new ReduceAction867(79),
-                       new ReduceAction868(79),
-                       new ReduceAction869(80),
-                       new ReduceAction870(80),
-                       new ReduceAction871(80),
-                       new ReduceAction872(80),
-                       new ReduceAction873(81),
-                       new ReduceAction874(82),
-                       new ReduceAction875(82),
-                       new ReduceAction873(83),
-                       new ReduceAction877(84),
-                       new ReduceAction878(84),
-                       new ReduceAction879(84),
-                       new ReduceAction880(84),
-                       new ReduceAction881(84),
-                       new ReduceAction882(85),
-                       new ReduceAction883(86),
-                       new ReduceAction884(86),
-                       new ReduceAction885(87),
-                       new ReduceAction886(88),
-                       new ReduceAction887(88),
-                       new ReduceAction887(88),
-                       new ReduceAction889(88),
-                       new ReduceAction890(89),
-                       new ReduceAction891(89),
-                       new ReduceAction892(89),
-                       new ReduceAction891(89),
-                       new ReduceAction894(89),
-                       new ReduceAction895(89),
-                       new ReduceAction896(89),
-                       new ReduceAction895(89),
-                       new ReduceAction898(89),
-                       new ReduceAction899(89),
-                       new ReduceAction900(89),
-                       new ReduceAction899(89),
-                       new ReduceAction902(89),
-                       new ReduceAction903(89),
-                       new ReduceAction904(89),
-                       new ReduceAction903(89),
-                       new ReduceAction906(90),
-                       new ReduceAction907(90),
-                       new ReduceAction908(90),
-                       new ReduceAction906(91),
-                       new ReduceAction910(91),
-                       new ReduceAction907(91),
-                       new ReduceAction908(91),
-                       new ReduceAction913(92),
-                       new ReduceAction914(93),
-                       new ReduceAction915(93),
-                       new ReduceAction916(94),
-                       new ReduceAction917(95),
-                       new ReduceAction918(95),
-                       new ReduceAction919(96),
-                       new ReduceAction920(96),
-                       new ReduceAction921(96),
-                       new ReduceAction922(96),
-                       new ReduceAction923(97),
-                       new ReduceAction924(98),
-                       new ReduceAction925(99),
-                       new ReduceAction925(99),
-                       new ReduceAction927(100),
-                       new ReduceAction928(100),
-                       new ReduceAction70(100),
-                       new ReduceAction930(101),
-                       new ReduceAction931(101),
-                       new ReduceAction932(102),
-                       new ReduceAction933(102),
-                       new ReduceAction925(102),
-                       new ReduceAction344(103),
-                       new ReduceAction345(104),
-                       new ReduceAction346(104),
-                       new ReduceAction347(104),
-                       new ReduceAction348(104),
-                       new ReduceAction349(104),
-                       new ReduceAction350(104),
-                       new ReduceAction351(104),
-                       new ReduceAction352(104),
-                       new ReduceAction353(104),
-                       new ReduceAction354(104),
-                       new ReduceAction355(104),
-                       new ReduceAction356(104),
-                       new ReduceAction361(104),
-                       new ReduceAction362(104),
-                       new ReduceAction363(104),
-                       new ReduceAction364(104),
-                       new ReduceAction365(104),
-                       new ReduceAction366(104),
-                       new ReduceAction367(104),
-                       new ReduceAction368(104),
-                       new ReduceAction369(104),
-                       new ReduceAction370(104),
-                       new ReduceAction371(104),
-                       new ReduceAction372(104),
-                       new ReduceAction373(104),
-                       new ReduceAction374(104),
-                       new ReduceAction375(104),
-                       new ReduceAction376(104),
-                       new ReduceAction377(104),
-                       new ReduceAction378(104),
-                       new ReduceAction379(104),
-                       new ReduceAction380(104),
-                       new ReduceAction545(105),
-                       new ReduceAction546(105),
-                       new ReduceAction547(105),
-                       new ReduceAction548(105),
-                       new ReduceAction553(105),
-                       new ReduceAction554(105),
+                       new ReduceAction707(54),
+                       new ReduceAction708(54),
+                       new ReduceAction709(54),
+                       new ReduceAction710(54),
+                       new ReduceAction711(55),
+                       new ReduceAction596(56),
+                       new ReduceAction596(57),
+                       new ReduceAction714(57),
+                       new ReduceAction596(58),
+                       new ReduceAction716(58),
+                       new ReduceAction717(58),
+                       new ReduceAction718(58),
+                       new ReduceAction719(58),
+                       new ReduceAction596(59),
+                       new ReduceAction721(59),
+                       new ReduceAction596(60),
+                       new ReduceAction723(60),
+                       new ReduceAction724(60),
+                       new ReduceAction725(60),
+                       new ReduceAction726(60),
+                       new ReduceAction727(60),
+                       new ReduceAction728(60),
+                       new ReduceAction729(60),
+                       new ReduceAction730(60),
+                       new ReduceAction731(60),
+                       new ReduceAction732(60),
+                       new ReduceAction596(61),
+                       new ReduceAction734(61),
+                       new ReduceAction735(61),
+                       new ReduceAction596(62),
+                       new ReduceAction737(62),
+                       new ReduceAction738(62),
+                       new ReduceAction739(62),
+                       new ReduceAction596(63),
+                       new ReduceAction741(63),
+                       new ReduceAction742(63),
+                       new ReduceAction596(64),
+                       new ReduceAction744(64),
+                       new ReduceAction745(64),
+                       new ReduceAction746(64),
+                       new ReduceAction747(64),
+                       new ReduceAction748(64),
+                       new ReduceAction747(64),
+                       new ReduceAction750(64),
+                       new ReduceAction751(64),
+                       new ReduceAction750(64),
+                       new ReduceAction753(65),
+                       new ReduceAction754(65),
+                       new ReduceAction755(65),
+                       new ReduceAction756(65),
+                       new ReduceAction755(65),
+                       new ReduceAction758(65),
+                       new ReduceAction759(65),
+                       new ReduceAction758(65),
+                       new ReduceAction623(65),
+                       new ReduceAction624(65),
+                       new ReduceAction625(65),
+                       new ReduceAction626(65),
+                       new ReduceAction625(65),
+                       new ReduceAction628(65),
+                       new ReduceAction629(65),
+                       new ReduceAction628(65),
+                       new ReduceAction631(65),
+                       new ReduceAction632(65),
+                       new ReduceAction633(65),
+                       new ReduceAction634(65),
+                       new ReduceAction635(65),
+                       new ReduceAction636(65),
+                       new ReduceAction775(65),
+                       new ReduceAction776(65),
+                       new ReduceAction777(65),
+                       new ReduceAction778(65),
+                       new ReduceAction777(65),
+                       new ReduceAction780(65),
+                       new ReduceAction781(65),
+                       new ReduceAction782(65),
+                       new ReduceAction783(65),
+                       new ReduceAction784(65),
+                       new ReduceAction785(65),
+                       new ReduceAction786(65),
+                       new ReduceAction787(65),
+                       new ReduceAction788(65),
+                       new ReduceAction789(65),
+                       new ReduceAction790(65),
+                       new ReduceAction791(65),
+                       new ReduceAction792(65),
+                       new ReduceAction793(65),
+                       new ReduceAction794(65),
+                       new ReduceAction795(65),
+                       new ReduceAction796(65),
+                       new ReduceAction797(65),
+                       new ReduceAction798(65),
+                       new ReduceAction799(65),
+                       new ReduceAction800(65),
+                       new ReduceAction801(65),
+                       new ReduceAction596(65),
+                       new ReduceAction803(65),
+                       new ReduceAction804(65),
+                       new ReduceAction805(65),
+                       new ReduceAction806(65),
+                       new ReduceAction807(66),
+                       new ReduceAction808(66),
+                       new ReduceAction809(66),
+                       new ReduceAction810(66),
+                       new ReduceAction811(67),
+                       new ReduceAction812(68),
+                       new ReduceAction811(69),
+                       new ReduceAction814(70),
+                       new ReduceAction815(71),
+                       new ReduceAction816(72),
+                       new ReduceAction817(72),
+                       new ReduceAction818(73),
+                       new ReduceAction819(73),
+                       new ReduceAction820(73),
+                       new ReduceAction821(73),
+                       new ReduceAction822(74),
+                       new ReduceAction823(75),
+                       new ReduceAction824(75),
+                       new ReduceAction822(76),
+                       new ReduceAction826(77),
+                       new ReduceAction827(77),
+                       new ReduceAction828(77),
+                       new ReduceAction829(77),
+                       new ReduceAction830(77),
+                       new ReduceAction831(78),
+                       new ReduceAction832(79),
+                       new ReduceAction833(79),
+                       new ReduceAction834(80),
+                       new ReduceAction835(81),
+                       new ReduceAction836(81),
+                       new ReduceAction836(81),
+                       new ReduceAction838(81),
+                       new ReduceAction839(82),
+                       new ReduceAction840(82),
+                       new ReduceAction841(82),
+                       new ReduceAction842(82),
+                       new ReduceAction843(83),
+                       new ReduceAction844(83),
+                       new ReduceAction845(83),
+                       new ReduceAction843(84),
+                       new ReduceAction847(84),
+                       new ReduceAction844(84),
+                       new ReduceAction845(84),
+                       new ReduceAction850(85),
+                       new ReduceAction851(86),
+                       new ReduceAction852(86),
+                       new ReduceAction853(87),
+                       new ReduceAction854(88),
+                       new ReduceAction855(88),
+                       new ReduceAction856(89),
+                       new ReduceAction857(89),
+                       new ReduceAction858(89),
+                       new ReduceAction859(89),
+                       new ReduceAction860(90),
+                       new ReduceAction861(91),
+                       new ReduceAction862(92),
+                       new ReduceAction862(92),
+                       new ReduceAction864(93),
+                       new ReduceAction865(93),
+                       new ReduceAction70(93),
+                       new ReduceAction867(94),
+                       new ReduceAction868(94),
+                       new ReduceAction869(95),
+                       new ReduceAction870(95),
+                       new ReduceAction862(95),
+                       new ReduceAction344(96),
+                       new ReduceAction345(97),
+                       new ReduceAction346(97),
+                       new ReduceAction347(97),
+                       new ReduceAction348(97),
+                       new ReduceAction349(97),
+                       new ReduceAction350(97),
+                       new ReduceAction351(97),
+                       new ReduceAction352(97),
+                       new ReduceAction353(97),
+                       new ReduceAction354(97),
+                       new ReduceAction355(97),
+                       new ReduceAction356(97),
+                       new ReduceAction361(97),
+                       new ReduceAction362(97),
+                       new ReduceAction363(97),
+                       new ReduceAction364(97),
+                       new ReduceAction365(97),
+                       new ReduceAction366(97),
+                       new ReduceAction367(97),
+                       new ReduceAction368(97),
+                       new ReduceAction369(97),
+                       new ReduceAction370(97),
+                       new ReduceAction371(97),
+                       new ReduceAction372(97),
+                       new ReduceAction373(97),
+                       new ReduceAction374(97),
+                       new ReduceAction375(97),
+                       new ReduceAction376(97),
+                       new ReduceAction377(97),
+                       new ReduceAction378(97),
+                       new ReduceAction379(97),
+                       new ReduceAction380(97),
+                       new ReduceAction545(98),
+                       new ReduceAction546(98),
+                       new ReduceAction549(98),
+                       new ReduceAction581(99),
+                       new ReduceAction582(99),
+                       new ReduceAction583(99),
+                       new ReduceAction584(99),
+                       new ReduceAction596(100),
+                       new ReduceAction596(101),
+                       new ReduceAction714(101),
+                       new ReduceAction596(102),
+                       new ReduceAction716(102),
+                       new ReduceAction717(102),
+                       new ReduceAction718(102),
+                       new ReduceAction719(102),
+                       new ReduceAction596(103),
+                       new ReduceAction721(103),
+                       new ReduceAction596(104),
+                       new ReduceAction723(104),
+                       new ReduceAction724(104),
+                       new ReduceAction725(104),
+                       new ReduceAction726(104),
+                       new ReduceAction727(104),
+                       new ReduceAction728(104),
+                       new ReduceAction729(104),
+                       new ReduceAction730(104),
+                       new ReduceAction731(104),
+                       new ReduceAction732(104),
+                       new ReduceAction596(105),
+                       new ReduceAction734(105),
+                       new ReduceAction735(105),
                        new ReduceAction596(106),
-                       new ReduceAction597(106),
-                       new ReduceAction598(106),
-                       new ReduceAction599(106),
-                       new ReduceAction611(107),
-                       new ReduceAction646(107),
-                       new ReduceAction647(107),
-                       new ReduceAction648(107),
-                       new ReduceAction651(107),
-                       new ReduceAction649(107),
-                       new ReduceAction652(107),
-                       new ReduceAction648(107),
-                       new ReduceAction651(107),
-                       new ReduceAction611(108),
-                       new ReduceAction765(108),
-                       new ReduceAction611(109),
-                       new ReduceAction767(109),
-                       new ReduceAction768(109),
-                       new ReduceAction769(109),
-                       new ReduceAction611(110),
-                       new ReduceAction771(110),
+                       new ReduceAction737(106),
+                       new ReduceAction738(106),
+                       new ReduceAction739(106),
+                       new ReduceAction596(107),
+                       new ReduceAction741(107),
+                       new ReduceAction742(107),
+                       new ReduceAction596(108),
+                       new ReduceAction744(108),
+                       new ReduceAction745(108),
+                       new ReduceAction746(108),
+                       new ReduceAction747(108),
+                       new ReduceAction750(108),
+                       new ReduceAction748(108),
+                       new ReduceAction751(108),
+                       new ReduceAction747(108),
+                       new ReduceAction750(108),
+                       new ReduceAction753(109),
+                       new ReduceAction754(109),
+                       new ReduceAction755(109),
+                       new ReduceAction758(109),
+                       new ReduceAction756(109),
+                       new ReduceAction759(109),
+                       new ReduceAction755(109),
+                       new ReduceAction758(109),
+                       new ReduceAction623(109),
+                       new ReduceAction624(109),
+                       new ReduceAction625(109),
+                       new ReduceAction628(109),
+                       new ReduceAction626(109),
+                       new ReduceAction629(109),
+                       new ReduceAction625(109),
+                       new ReduceAction628(109),
+                       new ReduceAction631(109),
+                       new ReduceAction632(109),
+                       new ReduceAction633(109),
+                       new ReduceAction634(109),
+                       new ReduceAction635(109),
+                       new ReduceAction636(109),
+                       new ReduceAction776(109),
+                       new ReduceAction777(109),
+                       new ReduceAction778(109),
+                       new ReduceAction777(109),
+                       new ReduceAction786(109),
+                       new ReduceAction787(109),
+                       new ReduceAction788(109),
+                       new ReduceAction789(109),
+                       new ReduceAction790(109),
+                       new ReduceAction791(109),
+                       new ReduceAction792(109),
+                       new ReduceAction793(109),
+                       new ReduceAction794(109),
+                       new ReduceAction795(109),
+                       new ReduceAction796(109),
+                       new ReduceAction797(109),
+                       new ReduceAction798(109),
+                       new ReduceAction799(109),
+                       new ReduceAction800(109),
+                       new ReduceAction801(109),
+                       new ReduceAction596(109),
+                       new ReduceAction803(109),
+                       new ReduceAction804(109),
+                       new ReduceAction805(109),
+                       new ReduceAction806(109),
+                       new ReduceAction581(110),
+                       new ReduceAction582(110),
+                       new ReduceAction583(110),
+                       new ReduceAction584(110),
+                       new ReduceAction585(110),
+                       new ReduceAction586(110),
+                       new ReduceAction587(110),
+                       new ReduceAction588(110),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction606(111),
+                       new ReduceAction607(111),
+                       new ReduceAction608(111),
+                       new ReduceAction609(111),
+                       new ReduceAction610(111),
                        new ReduceAction611(111),
-                       new ReduceAction773(111),
-                       new ReduceAction774(111),
-                       new ReduceAction775(111),
-                       new ReduceAction776(111),
-                       new ReduceAction777(111),
-                       new ReduceAction778(111),
-                       new ReduceAction779(111),
-                       new ReduceAction780(111),
-                       new ReduceAction781(111),
-                       new ReduceAction782(111),
-                       new ReduceAction783(111),
-                       new ReduceAction611(112),
-                       new ReduceAction785(112),
-                       new ReduceAction786(112),
-                       new ReduceAction611(113),
-                       new ReduceAction788(113),
-                       new ReduceAction789(113),
-                       new ReduceAction790(113),
-                       new ReduceAction611(114),
-                       new ReduceAction792(114),
-                       new ReduceAction793(114),
-                       new ReduceAction611(115),
-                       new ReduceAction795(115),
-                       new ReduceAction796(115),
-                       new ReduceAction797(115),
-                       new ReduceAction798(115),
-                       new ReduceAction801(115),
-                       new ReduceAction799(115),
-                       new ReduceAction802(115),
-                       new ReduceAction798(115),
-                       new ReduceAction801(115),
-                       new ReduceAction804(116),
-                       new ReduceAction805(116),
-                       new ReduceAction806(116),
-                       new ReduceAction809(116),
-                       new ReduceAction807(116),
-                       new ReduceAction810(116),
-                       new ReduceAction806(116),
-                       new ReduceAction809(116),
-                       new ReduceAction638(116),
-                       new ReduceAction639(116),
-                       new ReduceAction640(116),
-                       new ReduceAction643(116),
-                       new ReduceAction641(116),
-                       new ReduceAction644(116),
-                       new ReduceAction640(116),
-                       new ReduceAction643(116),
-                       new ReduceAction654(116),
-                       new ReduceAction655(116),
-                       new ReduceAction656(116),
-                       new ReduceAction657(116),
-                       new ReduceAction658(116),
-                       new ReduceAction659(116),
-                       new ReduceAction827(116),
-                       new ReduceAction828(116),
-                       new ReduceAction829(116),
-                       new ReduceAction828(116),
-                       new ReduceAction837(116),
-                       new ReduceAction838(116),
-                       new ReduceAction839(116),
-                       new ReduceAction840(116),
-                       new ReduceAction841(116),
-                       new ReduceAction842(116),
-                       new ReduceAction843(116),
-                       new ReduceAction844(116),
-                       new ReduceAction845(116),
-                       new ReduceAction846(116),
-                       new ReduceAction847(116),
-                       new ReduceAction848(116),
-                       new ReduceAction849(116),
-                       new ReduceAction850(116),
-                       new ReduceAction851(116),
-                       new ReduceAction852(116),
-                       new ReduceAction611(116),
-                       new ReduceAction854(116),
-                       new ReduceAction855(116),
-                       new ReduceAction856(116),
-                       new ReduceAction857(116),
+                       new ReduceAction612(111),
+                       new ReduceAction613(111),
+                       new ReduceAction614(111),
+                       new ReduceAction615(111),
+                       new ReduceAction616(111),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction596(111),
+                       new ReduceAction623(111),
+                       new ReduceAction624(111),
+                       new ReduceAction625(111),
+                       new ReduceAction626(111),
+                       new ReduceAction625(111),
+                       new ReduceAction628(111),
+                       new ReduceAction629(111),
+                       new ReduceAction628(111),
+                       new ReduceAction631(111),
+                       new ReduceAction632(111),
+                       new ReduceAction633(111),
+                       new ReduceAction634(111),
+                       new ReduceAction635(111),
+                       new ReduceAction636(111),
+                       new ReduceAction637(111),
+                       new ReduceAction638(111),
+                       new ReduceAction637(111),
+                       new ReduceAction640(111),
+                       new ReduceAction641(111),
+                       new ReduceAction640(111),
+                       new ReduceAction643(111),
+                       new ReduceAction654(112),
+                       new ReduceAction655(112),
+                       new ReduceAction656(112),
+                       new ReduceAction657(112),
+                       new ReduceAction656(112),
+                       new ReduceAction659(112),
+                       new ReduceAction660(112),
+                       new ReduceAction659(112),
+                       new ReduceAction662(112),
+                       new ReduceAction663(112),
+                       new ReduceAction664(112),
+                       new ReduceAction665(112),
+                       new ReduceAction664(112),
+                       new ReduceAction667(112),
+                       new ReduceAction668(112),
+                       new ReduceAction667(112),
+                       new ReduceAction670(112),
+                       new ReduceAction671(112),
+                       new ReduceAction672(112),
+                       new ReduceAction673(112),
+                       new ReduceAction674(112),
+                       new ReduceAction673(112),
+                       new ReduceAction676(112),
+                       new ReduceAction677(112),
+                       new ReduceAction676(112),
+                       new ReduceAction679(112),
+                       new ReduceAction680(112),
+                       new ReduceAction681(112),
+                       new ReduceAction682(112),
+                       new ReduceAction681(112),
+                       new ReduceAction684(112),
+                       new ReduceAction685(112),
+                       new ReduceAction684(112),
+                       new ReduceAction687(112),
+                       new ReduceAction596(113),
+                       new ReduceAction596(114),
+                       new ReduceAction714(114),
+                       new ReduceAction596(115),
+                       new ReduceAction716(115),
+                       new ReduceAction717(115),
+                       new ReduceAction718(115),
+                       new ReduceAction719(115),
+                       new ReduceAction596(116),
+                       new ReduceAction721(116),
                        new ReduceAction596(117),
-                       new ReduceAction597(117),
-                       new ReduceAction598(117),
-                       new ReduceAction599(117),
-                       new ReduceAction600(117),
-                       new ReduceAction601(117),
-                       new ReduceAction602(117),
-                       new ReduceAction603(117),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction621(118),
-                       new ReduceAction622(118),
-                       new ReduceAction623(118),
-                       new ReduceAction624(118),
-                       new ReduceAction625(118),
-                       new ReduceAction626(118),
-                       new ReduceAction627(118),
-                       new ReduceAction628(118),
-                       new ReduceAction629(118),
-                       new ReduceAction630(118),
-                       new ReduceAction631(118),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction611(118),
-                       new ReduceAction638(118),
-                       new ReduceAction639(118),
-                       new ReduceAction640(118),
-                       new ReduceAction641(118),
-                       new ReduceAction640(118),
-                       new ReduceAction643(118),
-                       new ReduceAction644(118),
-                       new ReduceAction643(118),
-                       new ReduceAction646(118),
-                       new ReduceAction647(118),
-                       new ReduceAction648(118),
-                       new ReduceAction649(118),
-                       new ReduceAction648(118),
-                       new ReduceAction651(118),
-                       new ReduceAction652(118),
-                       new ReduceAction651(118),
-                       new ReduceAction654(118),
-                       new ReduceAction655(118),
-                       new ReduceAction656(118),
-                       new ReduceAction657(118),
-                       new ReduceAction658(118),
-                       new ReduceAction659(118),
-                       new ReduceAction660(118),
-                       new ReduceAction661(118),
-                       new ReduceAction660(118),
-                       new ReduceAction663(118),
-                       new ReduceAction664(118),
-                       new ReduceAction663(118),
-                       new ReduceAction666(118),
-                       new ReduceAction696(119),
-                       new ReduceAction697(119),
-                       new ReduceAction698(119),
-                       new ReduceAction699(119),
-                       new ReduceAction698(119),
-                       new ReduceAction701(119),
-                       new ReduceAction702(119),
-                       new ReduceAction701(119),
-                       new ReduceAction704(119),
-                       new ReduceAction705(119),
-                       new ReduceAction706(119),
-                       new ReduceAction707(119),
-                       new ReduceAction706(119),
-                       new ReduceAction709(119),
-                       new ReduceAction710(119),
-                       new ReduceAction709(119),
-                       new ReduceAction712(119),
-                       new ReduceAction713(119),
-                       new ReduceAction714(119),
-                       new ReduceAction715(119),
-                       new ReduceAction716(119),
-                       new ReduceAction715(119),
-                       new ReduceAction718(119),
-                       new ReduceAction719(119),
-                       new ReduceAction718(119),
-                       new ReduceAction721(119),
-                       new ReduceAction722(119),
-                       new ReduceAction723(119),
-                       new ReduceAction724(119),
-                       new ReduceAction723(119),
-                       new ReduceAction726(119),
-                       new ReduceAction727(119),
-                       new ReduceAction726(119),
-                       new ReduceAction729(119),
-                       new ReduceAction611(120),
-                       new ReduceAction646(120),
-                       new ReduceAction647(120),
-                       new ReduceAction648(120),
-                       new ReduceAction649(120),
-                       new ReduceAction648(120),
-                       new ReduceAction651(120),
-                       new ReduceAction652(120),
-                       new ReduceAction651(120),
-                       new ReduceAction611(121),
-                       new ReduceAction765(121),
-                       new ReduceAction611(122),
-                       new ReduceAction767(122),
-                       new ReduceAction768(122),
-                       new ReduceAction769(122),
-                       new ReduceAction611(123),
-                       new ReduceAction771(123),
-                       new ReduceAction611(124),
-                       new ReduceAction773(124),
-                       new ReduceAction774(124),
-                       new ReduceAction775(124),
-                       new ReduceAction776(124),
-                       new ReduceAction777(124),
-                       new ReduceAction778(124),
-                       new ReduceAction779(124),
-                       new ReduceAction780(124),
-                       new ReduceAction781(124),
-                       new ReduceAction782(124),
-                       new ReduceAction783(124),
-                       new ReduceAction611(125),
-                       new ReduceAction785(125),
-                       new ReduceAction786(125),
-                       new ReduceAction611(126),
-                       new ReduceAction788(126),
-                       new ReduceAction789(126),
-                       new ReduceAction790(126),
-                       new ReduceAction611(127),
-                       new ReduceAction792(127),
-                       new ReduceAction793(127),
-                       new ReduceAction611(128),
-                       new ReduceAction795(128),
-                       new ReduceAction796(128),
-                       new ReduceAction797(128),
-                       new ReduceAction798(128),
-                       new ReduceAction799(128),
-                       new ReduceAction798(128),
-                       new ReduceAction801(128),
-                       new ReduceAction802(128),
-                       new ReduceAction801(128),
-                       new ReduceAction804(129),
-                       new ReduceAction805(129),
-                       new ReduceAction806(129),
-                       new ReduceAction807(129),
-                       new ReduceAction806(129),
-                       new ReduceAction809(129),
-                       new ReduceAction810(129),
-                       new ReduceAction809(129),
-                       new ReduceAction638(129),
-                       new ReduceAction639(129),
-                       new ReduceAction640(129),
-                       new ReduceAction641(129),
-                       new ReduceAction640(129),
-                       new ReduceAction643(129),
-                       new ReduceAction644(129),
-                       new ReduceAction643(129),
-                       new ReduceAction654(129),
-                       new ReduceAction655(129),
-                       new ReduceAction656(129),
-                       new ReduceAction657(129),
-                       new ReduceAction658(129),
-                       new ReduceAction659(129),
-                       new ReduceAction826(129),
-                       new ReduceAction827(129),
-                       new ReduceAction828(129),
-                       new ReduceAction829(129),
-                       new ReduceAction828(129),
-                       new ReduceAction837(129),
-                       new ReduceAction838(129),
-                       new ReduceAction839(129),
-                       new ReduceAction840(129),
-                       new ReduceAction841(129),
-                       new ReduceAction842(129),
-                       new ReduceAction843(129),
-                       new ReduceAction844(129),
-                       new ReduceAction845(129),
-                       new ReduceAction846(129),
-                       new ReduceAction847(129),
-                       new ReduceAction848(129),
-                       new ReduceAction849(129),
-                       new ReduceAction850(129),
-                       new ReduceAction851(129),
-                       new ReduceAction852(129),
-                       new ReduceAction611(129),
-                       new ReduceAction856(129),
-                       new ReduceAction857(129),
-                       new ReduceAction867(130),
-                       new ReduceAction868(130),
-                       new ReduceAction869(131),
-                       new ReduceAction870(131),
-                       new ReduceAction883(132),
-                       new ReduceAction884(132),
-                       new ReduceAction886(133),
-                       new ReduceAction887(133),
-                       new ReduceAction887(133),
+                       new ReduceAction723(117),
+                       new ReduceAction724(117),
+                       new ReduceAction725(117),
+                       new ReduceAction726(117),
+                       new ReduceAction727(117),
+                       new ReduceAction728(117),
+                       new ReduceAction729(117),
+                       new ReduceAction730(117),
+                       new ReduceAction731(117),
+                       new ReduceAction732(117),
+                       new ReduceAction596(118),
+                       new ReduceAction734(118),
+                       new ReduceAction735(118),
+                       new ReduceAction596(119),
+                       new ReduceAction737(119),
+                       new ReduceAction738(119),
+                       new ReduceAction739(119),
+                       new ReduceAction596(120),
+                       new ReduceAction741(120),
+                       new ReduceAction742(120),
+                       new ReduceAction596(121),
+                       new ReduceAction744(121),
+                       new ReduceAction745(121),
+                       new ReduceAction746(121),
+                       new ReduceAction747(121),
+                       new ReduceAction748(121),
+                       new ReduceAction747(121),
+                       new ReduceAction750(121),
+                       new ReduceAction751(121),
+                       new ReduceAction750(121),
+                       new ReduceAction753(122),
+                       new ReduceAction754(122),
+                       new ReduceAction755(122),
+                       new ReduceAction756(122),
+                       new ReduceAction755(122),
+                       new ReduceAction758(122),
+                       new ReduceAction759(122),
+                       new ReduceAction758(122),
+                       new ReduceAction623(122),
+                       new ReduceAction624(122),
+                       new ReduceAction625(122),
+                       new ReduceAction626(122),
+                       new ReduceAction625(122),
+                       new ReduceAction628(122),
+                       new ReduceAction629(122),
+                       new ReduceAction628(122),
+                       new ReduceAction631(122),
+                       new ReduceAction632(122),
+                       new ReduceAction633(122),
+                       new ReduceAction634(122),
+                       new ReduceAction635(122),
+                       new ReduceAction636(122),
+                       new ReduceAction775(122),
+                       new ReduceAction776(122),
+                       new ReduceAction777(122),
+                       new ReduceAction778(122),
+                       new ReduceAction777(122),
+                       new ReduceAction786(122),
+                       new ReduceAction787(122),
+                       new ReduceAction788(122),
+                       new ReduceAction789(122),
+                       new ReduceAction790(122),
+                       new ReduceAction791(122),
+                       new ReduceAction792(122),
+                       new ReduceAction793(122),
+                       new ReduceAction794(122),
+                       new ReduceAction795(122),
+                       new ReduceAction796(122),
+                       new ReduceAction797(122),
+                       new ReduceAction798(122),
+                       new ReduceAction799(122),
+                       new ReduceAction800(122),
+                       new ReduceAction801(122),
+                       new ReduceAction596(122),
+                       new ReduceAction805(122),
+                       new ReduceAction806(122),
+                       new ReduceAction816(123),
+                       new ReduceAction817(123),
+                       new ReduceAction818(124),
+                       new ReduceAction819(124),
+                       new ReduceAction832(125),
+                       new ReduceAction833(125),
+                       new ReduceAction835(126),
+                       new ReduceAction836(126),
+                       new ReduceAction836(126),
+                       new ReduceAction581(127),
+                       new ReduceAction582(127),
+                       new ReduceAction583(127),
+                       new ReduceAction584(127),
+                       new ReduceAction596(128),
+                       new ReduceAction596(129),
+                       new ReduceAction714(129),
+                       new ReduceAction596(130),
+                       new ReduceAction716(130),
+                       new ReduceAction717(130),
+                       new ReduceAction718(130),
+                       new ReduceAction719(130),
+                       new ReduceAction596(131),
+                       new ReduceAction721(131),
+                       new ReduceAction596(132),
+                       new ReduceAction723(132),
+                       new ReduceAction724(132),
+                       new ReduceAction725(132),
+                       new ReduceAction726(132),
+                       new ReduceAction727(132),
+                       new ReduceAction728(132),
+                       new ReduceAction729(132),
+                       new ReduceAction730(132),
+                       new ReduceAction731(132),
+                       new ReduceAction732(132),
+                       new ReduceAction596(133),
+                       new ReduceAction734(133),
+                       new ReduceAction735(133),
                        new ReduceAction596(134),
-                       new ReduceAction597(134),
-                       new ReduceAction598(134),
-                       new ReduceAction599(134),
-                       new ReduceAction611(135),
-                       new ReduceAction646(135),
-                       new ReduceAction647(135),
-                       new ReduceAction648(135),
-                       new ReduceAction651(135),
-                       new ReduceAction649(135),
-                       new ReduceAction652(135),
-                       new ReduceAction648(135),
-                       new ReduceAction651(135),
-                       new ReduceAction611(136),
-                       new ReduceAction765(136),
-                       new ReduceAction611(137),
-                       new ReduceAction767(137),
-                       new ReduceAction768(137),
-                       new ReduceAction769(137),
-                       new ReduceAction611(138),
-                       new ReduceAction771(138),
-                       new ReduceAction611(139),
-                       new ReduceAction773(139),
-                       new ReduceAction774(139),
-                       new ReduceAction775(139),
-                       new ReduceAction776(139),
-                       new ReduceAction777(139),
-                       new ReduceAction778(139),
-                       new ReduceAction779(139),
-                       new ReduceAction780(139),
-                       new ReduceAction781(139),
-                       new ReduceAction782(139),
-                       new ReduceAction783(139),
+                       new ReduceAction737(134),
+                       new ReduceAction738(134),
+                       new ReduceAction739(134),
+                       new ReduceAction596(135),
+                       new ReduceAction741(135),
+                       new ReduceAction742(135),
+                       new ReduceAction596(136),
+                       new ReduceAction744(136),
+                       new ReduceAction1215(136),
+                       new ReduceAction1216(136),
+                       new ReduceAction745(136),
+                       new ReduceAction1216(136),
+                       new ReduceAction1219(137),
+                       new ReduceAction1220(137),
+                       new ReduceAction753(137),
+                       new ReduceAction1220(137),
+                       new ReduceAction1223(137),
+                       new ReduceAction1224(137),
+                       new ReduceAction623(137),
+                       new ReduceAction1224(137),
+                       new ReduceAction631(137),
+                       new ReduceAction632(137),
+                       new ReduceAction633(137),
+                       new ReduceAction634(137),
+                       new ReduceAction1231(137),
+                       new ReduceAction776(137),
+                       new ReduceAction777(137),
+                       new ReduceAction778(137),
+                       new ReduceAction777(137),
+                       new ReduceAction786(137),
+                       new ReduceAction787(137),
+                       new ReduceAction788(137),
+                       new ReduceAction789(137),
+                       new ReduceAction790(137),
+                       new ReduceAction791(137),
+                       new ReduceAction792(137),
+                       new ReduceAction793(137),
+                       new ReduceAction794(137),
+                       new ReduceAction795(137),
+                       new ReduceAction796(137),
+                       new ReduceAction797(137),
+                       new ReduceAction798(137),
+                       new ReduceAction799(137),
+                       new ReduceAction800(137),
+                       new ReduceAction801(137),
+                       new ReduceAction596(137),
+                       new ReduceAction805(137),
+                       new ReduceAction806(137),
+                       new ReduceAction1255(138),
+                       new ReduceAction1256(138),
+                       new ReduceAction593(139),
+                       new ReduceAction594(139),
+                       new ReduceAction595(139),
+                       new ReduceAction596(139),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction606(140),
+                       new ReduceAction607(140),
+                       new ReduceAction608(140),
+                       new ReduceAction609(140),
+                       new ReduceAction610(140),
                        new ReduceAction611(140),
-                       new ReduceAction785(140),
-                       new ReduceAction786(140),
-                       new ReduceAction611(141),
-                       new ReduceAction788(141),
-                       new ReduceAction789(141),
-                       new ReduceAction790(141),
-                       new ReduceAction611(142),
-                       new ReduceAction792(142),
-                       new ReduceAction793(142),
-                       new ReduceAction611(143),
-                       new ReduceAction795(143),
-                       new ReduceAction1313(143),
-                       new ReduceAction1314(143),
-                       new ReduceAction796(143),
-                       new ReduceAction1314(143),
-                       new ReduceAction1317(144),
-                       new ReduceAction1318(144),
-                       new ReduceAction804(144),
-                       new ReduceAction1318(144),
-                       new ReduceAction1321(144),
-                       new ReduceAction1322(144),
-                       new ReduceAction638(144),
-                       new ReduceAction1322(144),
-                       new ReduceAction654(144),
-                       new ReduceAction655(144),
-                       new ReduceAction656(144),
-                       new ReduceAction657(144),
-                       new ReduceAction1329(144),
-                       new ReduceAction827(144),
-                       new ReduceAction828(144),
-                       new ReduceAction829(144),
-                       new ReduceAction828(144),
-                       new ReduceAction837(144),
-                       new ReduceAction838(144),
-                       new ReduceAction839(144),
-                       new ReduceAction840(144),
-                       new ReduceAction841(144),
-                       new ReduceAction842(144),
-                       new ReduceAction843(144),
-                       new ReduceAction844(144),
-                       new ReduceAction845(144),
-                       new ReduceAction846(144),
-                       new ReduceAction847(144),
-                       new ReduceAction848(144),
-                       new ReduceAction849(144),
-                       new ReduceAction850(144),
-                       new ReduceAction851(144),
-                       new ReduceAction852(144),
-                       new ReduceAction611(144),
-                       new ReduceAction856(144),
-                       new ReduceAction857(144),
-                       new ReduceAction1353(145),
-                       new ReduceAction1354(145),
-                       new ReduceAction608(146),
-                       new ReduceAction609(146),
-                       new ReduceAction610(146),
-                       new ReduceAction611(146),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction621(147),
-                       new ReduceAction622(147),
-                       new ReduceAction623(147),
-                       new ReduceAction624(147),
-                       new ReduceAction625(147),
-                       new ReduceAction626(147),
-                       new ReduceAction627(147),
-                       new ReduceAction628(147),
-                       new ReduceAction629(147),
-                       new ReduceAction630(147),
-                       new ReduceAction631(147),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction611(147),
-                       new ReduceAction638(147),
-                       new ReduceAction639(147),
-                       new ReduceAction640(147),
-                       new ReduceAction641(147),
-                       new ReduceAction640(147),
-                       new ReduceAction643(147),
-                       new ReduceAction644(147),
-                       new ReduceAction643(147),
-                       new ReduceAction646(147),
-                       new ReduceAction647(147),
-                       new ReduceAction648(147),
-                       new ReduceAction649(147),
-                       new ReduceAction648(147),
-                       new ReduceAction651(147),
-                       new ReduceAction652(147),
-                       new ReduceAction651(147),
-                       new ReduceAction654(147),
-                       new ReduceAction655(147),
-                       new ReduceAction656(147),
-                       new ReduceAction657(147),
-                       new ReduceAction658(147),
-                       new ReduceAction659(147),
-                       new ReduceAction660(147),
-                       new ReduceAction661(147),
-                       new ReduceAction660(147),
-                       new ReduceAction663(147),
-                       new ReduceAction664(147),
-                       new ReduceAction663(147),
-                       new ReduceAction666(147),
-                       new ReduceAction668(148),
-                       new ReduceAction669(148),
-                       new ReduceAction670(149),
-                       new ReduceAction671(149),
-                       new ReduceAction672(149),
-                       new ReduceAction673(149),
-                       new ReduceAction674(149),
-                       new ReduceAction675(149),
-                       new ReduceAction676(149),
-                       new ReduceAction677(149),
-                       new ReduceAction678(149),
-                       new ReduceAction687(150),
-                       new ReduceAction688(151),
-                       new ReduceAction689(151),
-                       new ReduceAction690(151),
-                       new ReduceAction691(151),
-                       new ReduceAction692(151),
-                       new ReduceAction693(151),
-                       new ReduceAction694(151),
-                       new ReduceAction695(151),
-                       new ReduceAction696(152),
-                       new ReduceAction697(152),
-                       new ReduceAction698(152),
-                       new ReduceAction699(152),
-                       new ReduceAction698(152),
-                       new ReduceAction701(152),
-                       new ReduceAction702(152),
-                       new ReduceAction701(152),
-                       new ReduceAction704(152),
-                       new ReduceAction705(152),
-                       new ReduceAction706(152),
-                       new ReduceAction707(152),
-                       new ReduceAction706(152),
-                       new ReduceAction709(152),
-                       new ReduceAction710(152),
-                       new ReduceAction709(152),
-                       new ReduceAction712(152),
-                       new ReduceAction713(152),
-                       new ReduceAction714(152),
-                       new ReduceAction715(152),
-                       new ReduceAction716(152),
-                       new ReduceAction715(152),
-                       new ReduceAction718(152),
-                       new ReduceAction719(152),
-                       new ReduceAction718(152),
-                       new ReduceAction721(152),
-                       new ReduceAction722(152),
-                       new ReduceAction723(152),
-                       new ReduceAction724(152),
-                       new ReduceAction723(152),
-                       new ReduceAction726(152),
-                       new ReduceAction727(152),
-                       new ReduceAction726(152),
-                       new ReduceAction729(152),
-                       new ReduceAction732(153),
-                       new ReduceAction733(153),
-                       new ReduceAction734(154),
-                       new ReduceAction741(155),
-                       new ReduceAction742(155),
-                       new ReduceAction743(156),
-                       new ReduceAction744(156),
-                       new ReduceAction745(157),
-                       new ReduceAction746(157),
-                       new ReduceAction747(157),
-                       new ReduceAction748(157),
-                       new ReduceAction749(158),
-                       new ReduceAction750(158),
+                       new ReduceAction612(140),
+                       new ReduceAction613(140),
+                       new ReduceAction614(140),
+                       new ReduceAction615(140),
+                       new ReduceAction616(140),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction596(140),
+                       new ReduceAction623(140),
+                       new ReduceAction624(140),
+                       new ReduceAction625(140),
+                       new ReduceAction626(140),
+                       new ReduceAction625(140),
+                       new ReduceAction628(140),
+                       new ReduceAction629(140),
+                       new ReduceAction628(140),
+                       new ReduceAction631(140),
+                       new ReduceAction632(140),
+                       new ReduceAction633(140),
+                       new ReduceAction634(140),
+                       new ReduceAction635(140),
+                       new ReduceAction636(140),
+                       new ReduceAction637(140),
+                       new ReduceAction638(140),
+                       new ReduceAction637(140),
+                       new ReduceAction640(140),
+                       new ReduceAction641(140),
+                       new ReduceAction640(140),
+                       new ReduceAction643(140),
+                       new ReduceAction645(141),
+                       new ReduceAction646(142),
+                       new ReduceAction647(142),
+                       new ReduceAction648(142),
+                       new ReduceAction649(142),
+                       new ReduceAction650(142),
+                       new ReduceAction651(142),
+                       new ReduceAction652(142),
+                       new ReduceAction653(142),
+                       new ReduceAction654(143),
+                       new ReduceAction655(143),
+                       new ReduceAction656(143),
+                       new ReduceAction657(143),
+                       new ReduceAction656(143),
+                       new ReduceAction659(143),
+                       new ReduceAction660(143),
+                       new ReduceAction659(143),
+                       new ReduceAction662(143),
+                       new ReduceAction663(143),
+                       new ReduceAction664(143),
+                       new ReduceAction665(143),
+                       new ReduceAction664(143),
+                       new ReduceAction667(143),
+                       new ReduceAction668(143),
+                       new ReduceAction667(143),
+                       new ReduceAction670(143),
+                       new ReduceAction671(143),
+                       new ReduceAction672(143),
+                       new ReduceAction673(143),
+                       new ReduceAction674(143),
+                       new ReduceAction673(143),
+                       new ReduceAction676(143),
+                       new ReduceAction677(143),
+                       new ReduceAction676(143),
+                       new ReduceAction679(143),
+                       new ReduceAction680(143),
+                       new ReduceAction681(143),
+                       new ReduceAction682(143),
+                       new ReduceAction681(143),
+                       new ReduceAction684(143),
+                       new ReduceAction685(143),
+                       new ReduceAction684(143),
+                       new ReduceAction687(143),
+                       new ReduceAction690(144),
+                       new ReduceAction691(144),
+                       new ReduceAction692(145),
+                       new ReduceAction699(146),
+                       new ReduceAction700(146),
+                       new ReduceAction701(147),
+                       new ReduceAction702(147),
+                       new ReduceAction703(148),
+                       new ReduceAction704(148),
+                       new ReduceAction705(148),
+                       new ReduceAction706(148),
+                       new ReduceAction707(149),
+                       new ReduceAction708(149),
+                       new ReduceAction596(150),
+                       new ReduceAction596(151),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction606(152),
+                       new ReduceAction607(152),
+                       new ReduceAction608(152),
+                       new ReduceAction609(152),
+                       new ReduceAction610(152),
+                       new ReduceAction611(152),
+                       new ReduceAction612(152),
+                       new ReduceAction613(152),
+                       new ReduceAction614(152),
+                       new ReduceAction615(152),
+                       new ReduceAction616(152),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction596(152),
+                       new ReduceAction623(152),
+                       new ReduceAction624(152),
+                       new ReduceAction625(152),
+                       new ReduceAction626(152),
+                       new ReduceAction625(152),
+                       new ReduceAction628(152),
+                       new ReduceAction629(152),
+                       new ReduceAction628(152),
+                       new ReduceAction631(152),
+                       new ReduceAction632(152),
+                       new ReduceAction633(152),
+                       new ReduceAction634(152),
+                       new ReduceAction635(152),
+                       new ReduceAction636(152),
+                       new ReduceAction637(152),
+                       new ReduceAction638(152),
+                       new ReduceAction637(152),
+                       new ReduceAction640(152),
+                       new ReduceAction641(152),
+                       new ReduceAction640(152),
+                       new ReduceAction643(152),
+                       new ReduceAction654(153),
+                       new ReduceAction655(153),
+                       new ReduceAction656(153),
+                       new ReduceAction657(153),
+                       new ReduceAction656(153),
+                       new ReduceAction659(153),
+                       new ReduceAction660(153),
+                       new ReduceAction659(153),
+                       new ReduceAction662(153),
+                       new ReduceAction663(153),
+                       new ReduceAction664(153),
+                       new ReduceAction665(153),
+                       new ReduceAction664(153),
+                       new ReduceAction667(153),
+                       new ReduceAction668(153),
+                       new ReduceAction667(153),
+                       new ReduceAction670(153),
+                       new ReduceAction671(153),
+                       new ReduceAction672(153),
+                       new ReduceAction673(153),
+                       new ReduceAction674(153),
+                       new ReduceAction673(153),
+                       new ReduceAction676(153),
+                       new ReduceAction677(153),
+                       new ReduceAction676(153),
+                       new ReduceAction679(153),
+                       new ReduceAction680(153),
+                       new ReduceAction681(153),
+                       new ReduceAction682(153),
+                       new ReduceAction681(153),
+                       new ReduceAction684(153),
+                       new ReduceAction685(153),
+                       new ReduceAction684(153),
+                       new ReduceAction687(153),
+                       new ReduceAction596(154),
+                       new ReduceAction596(155),
+                       new ReduceAction593(156),
+                       new ReduceAction594(156),
+                       new ReduceAction595(156),
+                       new ReduceAction593(157),
+                       new ReduceAction594(157),
+                       new ReduceAction595(157),
+                       new ReduceAction596(158),
+                       new ReduceAction596(158),
+                       new ReduceAction606(158),
+                       new ReduceAction607(158),
+                       new ReduceAction608(158),
+                       new ReduceAction609(158),
+                       new ReduceAction610(158),
+                       new ReduceAction611(158),
+                       new ReduceAction612(158),
+                       new ReduceAction613(158),
+                       new ReduceAction614(158),
+                       new ReduceAction615(158),
+                       new ReduceAction616(158),
+                       new ReduceAction596(158),
+                       new ReduceAction596(158),
+                       new ReduceAction596(158),
+                       new ReduceAction596(158),
+                       new ReduceAction596(158),
+                       new ReduceAction643(158),
+                       new ReduceAction596(159),
+                       new ReduceAction596(159),
+                       new ReduceAction606(159),
+                       new ReduceAction607(159),
+                       new ReduceAction608(159),
+                       new ReduceAction609(159),
+                       new ReduceAction610(159),
                        new ReduceAction611(159),
-                       new ReduceAction646(159),
-                       new ReduceAction647(159),
-                       new ReduceAction648(159),
-                       new ReduceAction649(159),
-                       new ReduceAction648(159),
-                       new ReduceAction651(159),
-                       new ReduceAction652(159),
-                       new ReduceAction651(159),
-                       new ReduceAction763(159),
+                       new ReduceAction612(159),
+                       new ReduceAction613(159),
+                       new ReduceAction614(159),
+                       new ReduceAction615(159),
+                       new ReduceAction616(159),
+                       new ReduceAction596(159),
+                       new ReduceAction596(159),
+                       new ReduceAction596(159),
+                       new ReduceAction596(159),
+                       new ReduceAction596(159),
+                       new ReduceAction643(159),
+                       new ReduceAction596(160),
+                       new ReduceAction596(160),
+                       new ReduceAction606(160),
+                       new ReduceAction607(160),
+                       new ReduceAction608(160),
+                       new ReduceAction609(160),
+                       new ReduceAction610(160),
                        new ReduceAction611(160),
-                       new ReduceAction646(160),
-                       new ReduceAction647(160),
-                       new ReduceAction648(160),
-                       new ReduceAction651(160),
-                       new ReduceAction649(160),
-                       new ReduceAction652(160),
-                       new ReduceAction648(160),
-                       new ReduceAction651(160),
-                       new ReduceAction611(161),
-                       new ReduceAction611(161),
-                       new ReduceAction621(161),
-                       new ReduceAction622(161),
-                       new ReduceAction623(161),
-                       new ReduceAction624(161),
-                       new ReduceAction625(161),
-                       new ReduceAction626(161),
-                       new ReduceAction627(161),
-                       new ReduceAction628(161),
-                       new ReduceAction629(161),
-                       new ReduceAction630(161),
-                       new ReduceAction631(161),
-                       new ReduceAction611(161),
-                       new ReduceAction611(161),
+                       new ReduceAction612(160),
+                       new ReduceAction613(160),
+                       new ReduceAction614(160),
+                       new ReduceAction615(160),
+                       new ReduceAction616(160),
+                       new ReduceAction596(160),
+                       new ReduceAction596(160),
+                       new ReduceAction596(160),
+                       new ReduceAction596(160),
+                       new ReduceAction596(160),
+                       new ReduceAction643(160),
+                       new ReduceAction596(161),
+                       new ReduceAction596(161),
+                       new ReduceAction606(161),
+                       new ReduceAction607(161),
+                       new ReduceAction608(161),
+                       new ReduceAction609(161),
+                       new ReduceAction610(161),
                        new ReduceAction611(161),
-                       new ReduceAction611(161),
-                       new ReduceAction611(161),
-                       new ReduceAction611(161),
-                       new ReduceAction638(161),
-                       new ReduceAction639(161),
-                       new ReduceAction640(161),
-                       new ReduceAction641(161),
-                       new ReduceAction640(161),
-                       new ReduceAction643(161),
-                       new ReduceAction644(161),
+                       new ReduceAction612(161),
+                       new ReduceAction613(161),
+                       new ReduceAction614(161),
+                       new ReduceAction615(161),
+                       new ReduceAction616(161),
+                       new ReduceAction596(161),
+                       new ReduceAction596(161),
+                       new ReduceAction596(161),
+                       new ReduceAction596(161),
+                       new ReduceAction596(161),
                        new ReduceAction643(161),
-                       new ReduceAction646(161),
-                       new ReduceAction647(161),
-                       new ReduceAction648(161),
-                       new ReduceAction649(161),
-                       new ReduceAction648(161),
-                       new ReduceAction651(161),
-                       new ReduceAction652(161),
-                       new ReduceAction651(161),
-                       new ReduceAction654(161),
-                       new ReduceAction655(161),
-                       new ReduceAction656(161),
-                       new ReduceAction657(161),
-                       new ReduceAction658(161),
-                       new ReduceAction659(161),
-                       new ReduceAction660(161),
-                       new ReduceAction661(161),
-                       new ReduceAction660(161),
-                       new ReduceAction663(161),
-                       new ReduceAction664(161),
-                       new ReduceAction663(161),
-                       new ReduceAction666(161),
-                       new ReduceAction696(162),
-                       new ReduceAction697(162),
-                       new ReduceAction698(162),
-                       new ReduceAction699(162),
-                       new ReduceAction698(162),
-                       new ReduceAction701(162),
-                       new ReduceAction702(162),
-                       new ReduceAction701(162),
-                       new ReduceAction704(162),
-                       new ReduceAction705(162),
-                       new ReduceAction706(162),
-                       new ReduceAction707(162),
-                       new ReduceAction706(162),
-                       new ReduceAction709(162),
-                       new ReduceAction710(162),
-                       new ReduceAction709(162),
-                       new ReduceAction712(162),
-                       new ReduceAction713(162),
-                       new ReduceAction714(162),
-                       new ReduceAction715(162),
-                       new ReduceAction716(162),
-                       new ReduceAction715(162),
-                       new ReduceAction718(162),
-                       new ReduceAction719(162),
-                       new ReduceAction718(162),
-                       new ReduceAction721(162),
-                       new ReduceAction722(162),
-                       new ReduceAction723(162),
-                       new ReduceAction724(162),
-                       new ReduceAction723(162),
-                       new ReduceAction726(162),
-                       new ReduceAction727(162),
-                       new ReduceAction726(162),
-                       new ReduceAction729(162),
-                       new ReduceAction611(163),
-                       new ReduceAction646(163),
-                       new ReduceAction647(163),
-                       new ReduceAction648(163),
-                       new ReduceAction649(163),
-                       new ReduceAction648(163),
-                       new ReduceAction651(163),
-                       new ReduceAction652(163),
-                       new ReduceAction651(163),
-                       new ReduceAction611(164),
-                       new ReduceAction646(164),
-                       new ReduceAction647(164),
-                       new ReduceAction648(164),
-                       new ReduceAction651(164),
-                       new ReduceAction649(164),
-                       new ReduceAction652(164),
-                       new ReduceAction648(164),
-                       new ReduceAction651(164),
-                       new ReduceAction608(165),
-                       new ReduceAction609(165),
-                       new ReduceAction610(165),
-                       new ReduceAction608(166),
-                       new ReduceAction609(166),
-                       new ReduceAction610(166),
-                       new ReduceAction611(167),
-                       new ReduceAction611(167),
-                       new ReduceAction621(167),
-                       new ReduceAction622(167),
-                       new ReduceAction623(167),
-                       new ReduceAction624(167),
-                       new ReduceAction625(167),
-                       new ReduceAction626(167),
-                       new ReduceAction627(167),
-                       new ReduceAction628(167),
-                       new ReduceAction629(167),
-                       new ReduceAction630(167),
-                       new ReduceAction631(167),
-                       new ReduceAction611(167),
-                       new ReduceAction611(167),
-                       new ReduceAction611(167),
-                       new ReduceAction611(167),
-                       new ReduceAction611(167),
-                       new ReduceAction666(167),
-                       new ReduceAction611(168),
-                       new ReduceAction611(168),
-                       new ReduceAction621(168),
-                       new ReduceAction622(168),
-                       new ReduceAction623(168),
-                       new ReduceAction624(168),
-                       new ReduceAction625(168),
-                       new ReduceAction626(168),
-                       new ReduceAction627(168),
-                       new ReduceAction628(168),
-                       new ReduceAction629(168),
-                       new ReduceAction630(168),
-                       new ReduceAction631(168),
-                       new ReduceAction611(168),
-                       new ReduceAction611(168),
-                       new ReduceAction611(168),
-                       new ReduceAction611(168),
-                       new ReduceAction611(168),
-                       new ReduceAction666(168),
-                       new ReduceAction611(169),
-                       new ReduceAction611(169),
-                       new ReduceAction621(169),
-                       new ReduceAction622(169),
-                       new ReduceAction623(169),
-                       new ReduceAction624(169),
-                       new ReduceAction625(169),
-                       new ReduceAction626(169),
-                       new ReduceAction627(169),
-                       new ReduceAction628(169),
-                       new ReduceAction629(169),
-                       new ReduceAction630(169),
-                       new ReduceAction631(169),
-                       new ReduceAction611(169),
-                       new ReduceAction611(169),
-                       new ReduceAction611(169),
-                       new ReduceAction611(169),
-                       new ReduceAction611(169),
-                       new ReduceAction666(169),
-                       new ReduceAction611(170),
-                       new ReduceAction611(170),
-                       new ReduceAction621(170),
-                       new ReduceAction622(170),
-                       new ReduceAction623(170),
-                       new ReduceAction624(170),
-                       new ReduceAction625(170),
-                       new ReduceAction626(170),
-                       new ReduceAction627(170),
-                       new ReduceAction628(170),
-                       new ReduceAction629(170),
-                       new ReduceAction630(170),
-                       new ReduceAction631(170),
-                       new ReduceAction611(170),
-                       new ReduceAction611(170),
-                       new ReduceAction611(170),
-                       new ReduceAction611(170),
-                       new ReduceAction611(170),
-                       new ReduceAction666(170),
-                       new ReduceAction611(171),
-                       new ReduceAction765(171),
-                       new ReduceAction611(172),
-                       new ReduceAction767(172),
-                       new ReduceAction768(172),
-                       new ReduceAction769(172),
-                       new ReduceAction611(173),
-                       new ReduceAction771(173),
-                       new ReduceAction611(174),
-                       new ReduceAction773(174),
-                       new ReduceAction775(174),
-                       new ReduceAction776(174),
-                       new ReduceAction777(174),
-                       new ReduceAction778(174),
-                       new ReduceAction779(174),
-                       new ReduceAction780(174),
-                       new ReduceAction781(174),
-                       new ReduceAction782(174),
-                       new ReduceAction783(174),
-                       new ReduceAction611(175),
-                       new ReduceAction765(175),
-                       new ReduceAction611(176),
-                       new ReduceAction767(176),
-                       new ReduceAction768(176),
-                       new ReduceAction769(176),
-                       new ReduceAction611(177),
-                       new ReduceAction771(177),
-                       new ReduceAction611(178),
-                       new ReduceAction773(178),
-                       new ReduceAction775(178),
-                       new ReduceAction776(178),
-                       new ReduceAction777(178),
-                       new ReduceAction778(178),
-                       new ReduceAction779(178),
-                       new ReduceAction780(178),
-                       new ReduceAction781(178),
-                       new ReduceAction782(178),
-                       new ReduceAction783(178),
-                       new ReduceAction611(179),
-                       new ReduceAction765(179),
-                       new ReduceAction611(180),
-                       new ReduceAction767(180),
-                       new ReduceAction768(180),
-                       new ReduceAction769(180),
-                       new ReduceAction611(181),
-                       new ReduceAction771(181),
-                       new ReduceAction611(182),
-                       new ReduceAction773(182),
-                       new ReduceAction775(182),
-                       new ReduceAction776(182),
-                       new ReduceAction777(182),
-                       new ReduceAction778(182),
-                       new ReduceAction779(182),
-                       new ReduceAction780(182),
-                       new ReduceAction781(182),
-                       new ReduceAction782(182),
-                       new ReduceAction783(182),
-                       new ReduceAction611(183),
-                       new ReduceAction765(183),
-                       new ReduceAction611(184),
-                       new ReduceAction767(184),
-                       new ReduceAction768(184),
-                       new ReduceAction769(184),
-                       new ReduceAction611(185),
-                       new ReduceAction771(185),
-                       new ReduceAction611(186),
-                       new ReduceAction773(186),
-                       new ReduceAction775(186),
-                       new ReduceAction776(186),
-                       new ReduceAction777(186),
-                       new ReduceAction778(186),
-                       new ReduceAction779(186),
-                       new ReduceAction780(186),
-                       new ReduceAction781(186),
-                       new ReduceAction782(186),
-                       new ReduceAction783(186),
-                       new ReduceAction877(187),
-                       new ReduceAction878(187),
-                       new ReduceAction879(187),
-                       new ReduceAction880(187),
-                       new ReduceAction881(187),
-                       new ReduceAction890(188),
-                       new ReduceAction891(188),
-                       new ReduceAction892(188),
-                       new ReduceAction891(188),
-                       new ReduceAction902(188),
-                       new ReduceAction903(188),
-                       new ReduceAction904(188),
-                       new ReduceAction903(188),
-                       new ReduceAction1764(189),
-                       new ReduceAction1765(189),
-                       new ReduceAction1766(190),
-                       new ReduceAction1767(190),
-                       new ReduceAction1768(191),
-                       new ReduceAction1769(191),
-                       new ReduceAction1770(192),
-                       new ReduceAction1771(192),
-                       new ReduceAction1772(193),
-                       new ReduceAction1773(193),
-                       new ReduceAction1770(194),
-                       new ReduceAction1771(194),
-                       new ReduceAction1776(195),
-                       new ReduceAction1777(195),
-                       new ReduceAction1778(196),
-                       new ReduceAction1779(196),
-                       new ReduceAction1780(197),
-                       new ReduceAction1781(197),
-                       new ReduceAction1782(198),
-                       new ReduceAction1783(198),
-                       new ReduceAction604(199),
-                       new ReduceAction1785(199),
-                       new ReduceAction1786(200),
-                       new ReduceAction1787(200),
-                       new ReduceAction572(201),
-                       new ReduceAction1789(201),
-                       new ReduceAction874(202),
-                       new ReduceAction1791(202),
-                       new ReduceAction874(203),
-                       new ReduceAction1791(203),
-                       new ReduceAction883(204),
-                       new ReduceAction1795(204),
-                       new ReduceAction1786(205),
-                       new ReduceAction1787(205),
-                       new ReduceAction917(206),
-                       new ReduceAction1799(206),
-                       new ReduceAction1800(207),
-                       new ReduceAction1801(207),
-                       new ReduceAction1802(208),
-                       new ReduceAction1803(208),
-                       new ReduceAction874(209),
-                       new ReduceAction1791(209)
+                       new ReduceAction826(162),
+                       new ReduceAction827(162),
+                       new ReduceAction828(162),
+                       new ReduceAction829(162),
+                       new ReduceAction830(162),
+                       new ReduceAction839(163),
+                       new ReduceAction842(163),
+                       new ReduceAction1524(164),
+                       new ReduceAction1525(164),
+                       new ReduceAction1526(165),
+                       new ReduceAction1527(165),
+                       new ReduceAction1528(166),
+                       new ReduceAction1529(166),
+                       new ReduceAction1530(167),
+                       new ReduceAction1531(167),
+                       new ReduceAction1532(168),
+                       new ReduceAction1533(168),
+                       new ReduceAction1530(169),
+                       new ReduceAction1531(169),
+                       new ReduceAction1536(170),
+                       new ReduceAction1537(170),
+                       new ReduceAction1538(171),
+                       new ReduceAction1539(171),
+                       new ReduceAction1540(172),
+                       new ReduceAction1541(172),
+                       new ReduceAction589(173),
+                       new ReduceAction1543(173),
+                       new ReduceAction1544(174),
+                       new ReduceAction1545(174),
+                       new ReduceAction1546(175),
+                       new ReduceAction1547(175),
+                       new ReduceAction823(176),
+                       new ReduceAction1549(176),
+                       new ReduceAction823(177),
+                       new ReduceAction1549(177),
+                       new ReduceAction832(178),
+                       new ReduceAction1553(178),
+                       new ReduceAction1544(179),
+                       new ReduceAction1545(179),
+                       new ReduceAction854(180),
+                       new ReduceAction1557(180),
+                       new ReduceAction1558(181),
+                       new ReduceAction1559(181),
+                       new ReduceAction1560(182),
+                       new ReduceAction1561(182),
+                       new ReduceAction823(183),
+                       new ReduceAction1549(183)
                )
        end
 end
@@ -23222,7 +22980,6 @@ private class ReduceAction545
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
                                        var toparnode2 = nodearraylist1
                                        assert toparnode2 isa nullable TOpar
                                        var tcparnode4 = nodearraylist3
@@ -23233,8 +22990,7 @@ private class ReduceAction545
                                                toparnode2,
                                                listnode3,
                                                tcparnode4,
-                                               ptypenode5,
-                                               listnode6
+                                               ptypenode5
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23252,7 +23008,6 @@ private class ReduceAction546
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
-                                       var listnode7 = new Array[Object]
                                        var toparnode2 = nodearraylist1
                                        assert toparnode2 isa nullable TOpar
                                        var listnode3 = nodearraylist3
@@ -23266,8 +23021,7 @@ private class ReduceAction546
                                                toparnode2,
                                                listnode4,
                                                tcparnode5,
-                                               ptypenode6,
-                                               listnode7
+                                               ptypenode6
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23278,29 +23032,20 @@ private class ReduceAction547
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var listnode7 = new Array[Object]
                                        var toparnode2 = nodearraylist1
                                        assert toparnode2 isa nullable TOpar
                                        var tcparnode4 = nodearraylist3
                                        assert tcparnode4 isa nullable TCpar
-                                       var ptypenode5 = nodearraylist4
-                                       assert ptypenode5 isa nullable AType
-                                       var listnode6 = nodearraylist6
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                toparnode2,
                                                listnode3,
                                                tcparnode4,
-                                               ptypenode5,
-                                               listnode7
+                                               null
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23311,15 +23056,12 @@ private class ReduceAction548
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
-                                       var listnode8 = new Array[Object]
                                        var toparnode2 = nodearraylist1
                                        assert toparnode2 isa nullable TOpar
                                        var listnode3 = nodearraylist3
@@ -23327,17 +23069,11 @@ private class ReduceAction548
                                        listnode4 = concat(listnode4, listnode3)
                                        var tcparnode5 = nodearraylist4
                                        assert tcparnode5 isa nullable TCpar
-                                       var ptypenode6 = nodearraylist5
-                                       assert ptypenode6 isa nullable AType
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                toparnode2,
                                                listnode4,
                                                tcparnode5,
-                                               ptypenode6,
-                                               listnode8
+                                               null
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23348,22 +23084,16 @@ private class ReduceAction549
        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 listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var tcparnode4 = nodearraylist3
-                                       assert tcparnode4 isa nullable TCpar
+                                       var ptypenode5 = nodearraylist1
+                                       assert ptypenode5 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
+                                               null,
                                                listnode3,
-                                               tcparnode4,
                                                null,
-                                               listnode6
+                                               ptypenode5
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23374,26 +23104,13 @@ private class ReduceAction550
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tcparnode5 = nodearraylist4
-                                       assert tcparnode5 isa nullable TCpar
+                                       var listnode3 = new Array[Object]
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode4,
-                                               tcparnode5,
                                                null,
-                                               listnode7
+                                               listnode3,
+                                               null,
+                                               null
                                        )
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
@@ -23404,28 +23121,14 @@ private class ReduceAction551
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var tcparnode4 = nodearraylist3
-                                       assert tcparnode4 isa nullable TCpar
-                                       var listnode6 = nodearraylist5
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode3,
-                                               tcparnode4,
-                                               null,
-                                               listnode7
-                                       )
-                                       node_list = psignaturenode1
+                                       var listnode2 = new Array[Object]
+                                       var pparamnode1 = nodearraylist1
+                                       if pparamnode1 != null then
+                                               listnode2.add(pparamnode1)
+                                       end
+                                       node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23434,32 +23137,18 @@ private class ReduceAction552
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode8 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tcparnode5 = nodearraylist4
-                                       assert tcparnode5 isa nullable TCpar
-                                       var listnode7 = nodearraylist6
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode4,
-                                               tcparnode5,
-                                               null,
-                                               listnode8
-                                       )
-                                       node_list = psignaturenode1
+                                       var listnode3 = new Array[Object]
+                                       var pparamnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       if pparamnode1 != null then
+                                               listnode3.add(pparamnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23468,20 +23157,11 @@ private class ReduceAction553
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var ptypenode5 = nodearraylist1
-                                       assert ptypenode5 isa nullable AType
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               null,
-                                               listnode3,
-                                               null,
-                                               ptypenode5,
-                                               listnode6
-                                       )
-                                       node_list = psignaturenode1
+                                       var pparamnode1 = nodearraylist3
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23490,24 +23170,16 @@ private class ReduceAction554
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var ptypenode5 = nodearraylist1
-                                       assert ptypenode5 isa nullable AType
-                                       var listnode6 = nodearraylist3
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
                                                null,
-                                               listnode3,
                                                null,
-                                               ptypenode5,
-                                               listnode7
+                                               null
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23516,17 +23188,19 @@ private class ReduceAction555
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               null,
-                                               listnode3,
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var pannotationsnode5 = nodearraylist2
+                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
                                                null,
                                                null,
-                                               listnode6
+                                               pannotationsnode5
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23537,19 +23211,17 @@ private class ReduceAction556
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var listnode6 = nodearraylist2
-                                       assert listnode6 isa Array[Object]
-                                       listnode7 = concat(listnode7, listnode6)
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               null,
-                                               listnode3,
-                                               null,
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var ptypenode3 = nodearraylist2
+                                       assert ptypenode3 isa nullable AType
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
+                                               ptypenode3,
                                                null,
-                                               listnode7
+                                               null
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23561,20 +23233,19 @@ private class ReduceAction557
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var tcparnode4 = nodearraylist3
-                                       assert tcparnode4 isa nullable TCpar
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode3,
-                                               tcparnode4,
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var pannotationsnode5 = nodearraylist2
+                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
+                                               ptypenode3,
                                                null,
-                                               listnode6
+                                               pannotationsnode5
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23583,27 +23254,22 @@ private class ReduceAction558
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tcparnode5 = nodearraylist4
-                                       assert tcparnode5 isa nullable TCpar
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode4,
-                                               tcparnode5,
-                                               null,
-                                               listnode7
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var ptypenode3 = nodearraylist2
+                                       assert ptypenode3 isa nullable AType
+                                       var tdotdotdotnode4 = nodearraylist3
+                                       assert tdotdotdotnode4 isa nullable TDotdotdot
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
+                                               ptypenode3,
+                                               tdotdotdotnode4,
+                                               null
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23616,22 +23282,21 @@ private class ReduceAction559
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var tcparnode4 = nodearraylist3
-                                       assert tcparnode4 isa nullable TCpar
-                                       var ptypenode5 = nodearraylist4
-                                       assert ptypenode5 isa nullable AType
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode3,
-                                               tcparnode4,
-                                               ptypenode5,
-                                               listnode6
+                                       var tidnode2 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var tdotdotdotnode4 = nodearraylist4
+                                       assert tdotdotdotnode4 isa nullable TDotdotdot
+                                       var pannotationsnode5 = nodearraylist2
+                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
+                                               tidnode2,
+                                               ptypenode3,
+                                               tdotdotdotnode4,
+                                               pannotationsnode5
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23640,89 +23305,70 @@ private class ReduceAction560
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode7 = new Array[Object]
-                                       var toparnode2 = nodearraylist1
-                                       assert toparnode2 isa nullable TOpar
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tcparnode5 = nodearraylist4
-                                       assert tcparnode5 isa nullable TCpar
-                                       var ptypenode6 = nodearraylist5
-                                       assert ptypenode6 isa nullable AType
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               toparnode2,
-                                               listnode4,
-                                               tcparnode5,
-                                               ptypenode6,
-                                               listnode7
-                                       )
-                                       node_list = psignaturenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction561
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               null,
-                                               listnode3,
-                                               null,
+                                       var pexprnode3 = nodearraylist1
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
                                                null,
-                                               listnode6
+                                               pexprnode3
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction562
+private class ReduceAction561
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode6 = new Array[Object]
-                                       var ptypenode5 = nodearraylist1
-                                       assert ptypenode5 isa nullable AType
-                                       var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
-                                               null,
-                                               listnode3,
-                                               null,
-                                               ptypenode5,
-                                               listnode6
+                                       var listnode4 = new Array[Object]
+                                       var tkwimportnode2 = nodearraylist1
+                                       assert tkwimportnode2 isa nullable TKwimport
+                                       var pexterncallnode3 = nodearraylist3
+                                       assert pexterncallnode3 isa nullable AExternCall
+                                       if pexterncallnode3 != null then
+                                               listnode4.add(pexterncallnode3)
+                                       end
+                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
+                                               tkwimportnode2,
+                                               listnode4
                                        )
-                                       node_list = psignaturenode1
+                                       node_list = pexterncallsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction563
+private class ReduceAction562
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pparamnode1 = nodearraylist1
-                                       if pparamnode1 != null then
-                                               listnode2.add(pparamnode1)
+                                       var listnode5 = new Array[Object]
+                                       var tkwimportnode2 = nodearraylist1
+                                       assert tkwimportnode2 isa nullable TKwimport
+                                       var pexterncallnode3 = nodearraylist3
+                                       assert pexterncallnode3 isa nullable AExternCall
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       if pexterncallnode3 != null then
+                                               listnode5.add(pexterncallnode3)
                                        end
-                                       node_list = listnode2
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
+                                               tkwimportnode2,
+                                               listnode5
+                                       )
+                                       node_list = pexterncallsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction564
+private class ReduceAction563
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -23730,28 +23376,19 @@ private class ReduceAction564
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pparamnode1 = nodearraylist1
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       if pparamnode1 != null then
-                                               listnode3.add(pparamnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       var pexterncallnode1 = nodearraylist3
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction565
+private class ReduceAction564
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pparamnode1 = nodearraylist3
-                                       node_list = pparamnode1
+                                       var pexterncallnode1 = nodearraylist1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23761,15 +23398,12 @@ private class ReduceAction566
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               null,
-                                               null,
-                                               null
+                                       var tkwsupernode2 = nodearraylist1
+                                       assert tkwsupernode2 isa nullable TKwsuper
+                                       var pexterncallnode1: nullable ASuperExternCall = new ASuperExternCall.init_asuperexterncall(
+                                               tkwsupernode2
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23778,19 +23412,13 @@ private class ReduceAction567
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               null,
-                                               null,
-                                               pannotationsnode5
+                                       var pmethidnode2 = nodearraylist1
+                                       assert pmethidnode2 isa nullable AMethid
+                                       var pexterncallnode1: nullable ALocalPropExternCall = new ALocalPropExternCall.init_alocalpropexterncall(
+                                               pmethidnode2
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23799,19 +23427,19 @@ private class ReduceAction568
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable AType
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               ptypenode3,
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var pmethidnode4 = nodearraylist3
+                                       assert pmethidnode4 isa nullable AMethid
+                                       var pexterncallnode1: nullable AFullPropExternCall = new AFullPropExternCall.init_afullpropexterncall(
+                                               ptypenode2,
                                                null,
-                                               null
+                                               pmethidnode4
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23823,19 +23451,18 @@ private class ReduceAction569
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable AType
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               ptypenode3,
-                                               null,
-                                               pannotationsnode5
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tdotnode3 = nodearraylist2
+                                       assert tdotnode3 isa nullable TDot
+                                       var pmethidnode4 = nodearraylist3
+                                       assert pmethidnode4 isa nullable AMethid
+                                       var pexterncallnode1: nullable AFullPropExternCall = new AFullPropExternCall.init_afullpropexterncall(
+                                               ptypenode2,
+                                               tdotnode3,
+                                               pmethidnode4
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23844,22 +23471,13 @@ private class ReduceAction570
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable AType
-                                       var tdotdotdotnode4 = nodearraylist3
-                                       assert tdotdotdotnode4 isa nullable TDotdotdot
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               ptypenode3,
-                                               tdotdotdotnode4,
-                                               null
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var pexterncallnode1: nullable AInitPropExternCall = new AInitPropExternCall.init_ainitpropexterncall(
+                                               ptypenode2
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23868,25 +23486,27 @@ private class ReduceAction571
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable AType
-                                       var tdotdotdotnode4 = nodearraylist4
-                                       assert tdotdotdotnode4 isa nullable TDotdotdot
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
-                                       var pparamnode1: nullable AParam = new AParam.init_aparam(
-                                               tidnode2,
-                                               ptypenode3,
-                                               tdotdotdotnode4,
-                                               pannotationsnode5
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode4 = nodearraylist2
+                                       assert tkwasnode4 isa nullable TKwas
+                                       var ptypenode5 = nodearraylist6
+                                       assert ptypenode5 isa nullable AType
+                                       var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
+                                               ptypenode2,
+                                               null,
+                                               tkwasnode4,
+                                               ptypenode5
                                        )
-                                       node_list = pparamnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23895,12 +23515,30 @@ private class ReduceAction572
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tdotnode3 = nodearraylist2
+                                       assert tdotnode3 isa nullable TDot
+                                       var tkwasnode4 = nodearraylist3
+                                       assert tkwasnode4 isa nullable TKwas
+                                       var ptypenode5 = nodearraylist7
+                                       assert ptypenode5 isa nullable AType
+                                       var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
+                                               ptypenode2,
+                                               tdotnode3,
+                                               tkwasnode4,
+                                               ptypenode5
+                                       )
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23913,20 +23551,18 @@ private class ReduceAction573
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tbangnode3 = nodearraylist1
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist2
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist3
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               null,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               null
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist2
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnullablenode4 = nodearraylist4
+                                       assert tkwnullablenode4 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnullablenode4
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23940,22 +23576,18 @@ private class ReduceAction574
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var tbangnode3 = nodearraylist2
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist3
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               tkwbreaknode2,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               null
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist3
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnullablenode4 = nodearraylist5
+                                       assert tkwnullablenode4 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnullablenode4
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -23970,22 +23602,21 @@ private class ReduceAction575
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tbangnode3 = nodearraylist1
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist2
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist3
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               null,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               pexprnode6
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist2
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnotnode4 = nodearraylist4
+                                       assert tkwnotnode4 isa nullable TKwnot
+                                       var tkwnullablenode5 = nodearraylist6
+                                       assert tkwnullablenode5 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnotnode4,
+                                               tkwnullablenode5
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24001,24 +23632,21 @@ private class ReduceAction576
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var tbangnode3 = nodearraylist2
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist3
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               tkwbreaknode2,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               pexprnode6
+                                       var ptypenode2 = nodearraylist1
+                                       assert ptypenode2 isa nullable AType
+                                       var tkwasnode3 = nodearraylist3
+                                       assert tkwasnode3 isa nullable TKwas
+                                       var tkwnotnode4 = nodearraylist5
+                                       assert tkwnotnode4 isa nullable TKwnot
+                                       var tkwnullablenode5 = nodearraylist7
+                                       assert tkwnullablenode5 isa nullable TKwnullable
+                                       var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
+                                               ptypenode2,
+                                               tkwasnode3,
+                                               tkwnotnode4,
+                                               tkwnullablenode5
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pexterncallnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24027,29 +23655,17 @@ private class ReduceAction577
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tbangnode3 = nodearraylist1
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist2
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist3
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               null,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               pexprnode6
+                                       var tkwinnode2 = nodearraylist1
+                                       assert tkwinnode2 isa nullable TKwin
+                                       var tstringnode3 = nodearraylist2
+                                       assert tstringnode3 isa nullable TString
+                                       var pinlanguagenode1: nullable AInLanguage = new AInLanguage.init_ainlanguage(
+                                               tkwinnode2,
+                                               tstringnode3
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pinlanguagenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24058,32 +23674,14 @@ private class ReduceAction578
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var tbangnode3 = nodearraylist2
-                                       assert tbangnode3 isa nullable TBang
-                                       var tidnode4 = nodearraylist3
-                                       assert tidnode4 isa nullable TId
-                                       var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable ASignature
-                                       var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
-                                               tkwbreaknode2,
-                                               tbangnode3,
-                                               tidnode4,
-                                               psignaturenode5,
-                                               pexprnode6
+                                       var texterncodesegmentnode3 = nodearraylist1
+                                       assert texterncodesegmentnode3 isa nullable TExternCodeSegment
+                                       var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
+                                               null,
+                                               texterncodesegmentnode3
                                        )
-                                       node_list = pclosuredeclnode1
+                                       node_list = pexterncodeblocknode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24092,14 +23690,17 @@ private class ReduceAction579
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode3 = nodearraylist1
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
-                                               null,
-                                               pexprnode3
+                                       var pinlanguagenode2 = nodearraylist1
+                                       assert pinlanguagenode2 isa nullable AInLanguage
+                                       var texterncodesegmentnode3 = nodearraylist2
+                                       assert texterncodesegmentnode3 isa nullable TExternCodeSegment
+                                       var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
+                                               pinlanguagenode2,
+                                               texterncodesegmentnode3
                                        )
-                                       node_list = pexprnode1
+                                       node_list = pexterncodeblocknode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24108,22 +23709,10 @@ private class ReduceAction580
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tkwimportnode2 = nodearraylist1
-                                       assert tkwimportnode2 isa nullable TKwimport
-                                       var pexterncallnode3 = nodearraylist3
-                                       assert pexterncallnode3 isa nullable AExternCall
-                                       if pexterncallnode3 != null then
-                                               listnode4.add(pexterncallnode3)
-                                       end
-                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
-                                               tkwimportnode2,
-                                               listnode4
-                                       )
-                                       node_list = pexterncallsnode1
+                                       var pexterncodeblocknode1 = nodearraylist2
+                                       node_list = pexterncodeblocknode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24132,26 +23721,17 @@ private class ReduceAction581
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tkwimportnode2 = nodearraylist1
-                                       assert tkwimportnode2 isa nullable TKwimport
-                                       var pexterncallnode3 = nodearraylist3
-                                       assert pexterncallnode3 isa nullable AExternCall
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       if pexterncallnode3 != null then
-                                               listnode5.add(pexterncallnode3)
-                                       end
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
-                                               tkwimportnode2,
-                                               listnode5
+                                       var listnode4 = new Array[Object]
+                                       var tclassidnode3 = nodearraylist1
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               null,
+                                               tclassidnode3,
+                                               listnode4,
+                                               null
                                        )
-                                       node_list = pexterncallsnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24160,11 +23740,20 @@ private class ReduceAction582
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexterncallnode1 = nodearraylist3
-                                       node_list = pexterncallnode1
+                                       var listnode4 = new Array[Object]
+                                       var tkwnullablenode2 = nodearraylist1
+                                       assert tkwnullablenode2 isa nullable TKwnullable
+                                       var tclassidnode3 = nodearraylist2
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               tkwnullablenode2,
+                                               tclassidnode3,
+                                               listnode4,
+                                               null
+                                       )
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24173,86 +23762,110 @@ private class ReduceAction583
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexterncallnode1 = nodearraylist1
-                                       node_list = pexterncallnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction585
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwsupernode2 = nodearraylist1
-                                       assert tkwsupernode2 isa nullable TKwsuper
-                                       var pexterncallnode1: nullable ASuperExternCall = new ASuperExternCall.init_asuperexterncall(
-                                               tkwsupernode2
+                                       var listnode4 = new Array[Object]
+                                       var tclassidnode3 = nodearraylist1
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var pannotationsnode5 = nodearraylist2
+                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               null,
+                                               tclassidnode3,
+                                               listnode4,
+                                               pannotationsnode5
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction586
+private class ReduceAction584
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pmethidnode2 = nodearraylist1
-                                       assert pmethidnode2 isa nullable AMethid
-                                       var pexterncallnode1: nullable ALocalPropExternCall = new ALocalPropExternCall.init_alocalpropexterncall(
-                                               pmethidnode2
+                                       var listnode4 = new Array[Object]
+                                       var tkwnullablenode2 = nodearraylist1
+                                       assert tkwnullablenode2 isa nullable TKwnullable
+                                       var tclassidnode3 = nodearraylist2
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var pannotationsnode5 = nodearraylist3
+                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               tkwnullablenode2,
+                                               tclassidnode3,
+                                               listnode4,
+                                               pannotationsnode5
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction587
+private class ReduceAction585
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tclassidnode2 = nodearraylist1
-                                       assert tclassidnode2 isa nullable TClassid
-                                       var tquadnode3 = nodearraylist2
-                                       assert tquadnode3 isa nullable TQuad
-                                       var pmethidnode4 = nodearraylist3
-                                       assert pmethidnode4 isa nullable AMethid
-                                       var pexterncallnode1: nullable AFullPropExternCall = new AFullPropExternCall.init_afullpropexterncall(
-                                               tclassidnode2,
-                                               tquadnode3,
-                                               pmethidnode4
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode3 = nodearraylist1
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               null,
+                                               tclassidnode3,
+                                               listnode5,
+                                               null
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction588
+private class ReduceAction586
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tclassidnode2 = nodearraylist1
-                                       assert tclassidnode2 isa nullable TClassid
-                                       var pexterncallnode1: nullable AInitPropExternCall = new AInitPropExternCall.init_ainitpropexterncall(
-                                               tclassidnode2
+                                       var listnode5 = new Array[Object]
+                                       var tkwnullablenode2 = nodearraylist1
+                                       assert tkwnullablenode2 isa nullable TKwnullable
+                                       var tclassidnode3 = nodearraylist2
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var listnode4 = nodearraylist5
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               tkwnullablenode2,
+                                               tclassidnode3,
+                                               listnode5,
+                                               null
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction589
+private class ReduceAction587
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
@@ -24260,90 +23873,101 @@ private class ReduceAction589
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var ptypenode2 = nodearraylist1
-                                       assert ptypenode2 isa nullable AType
-                                       var tkwasnode3 = nodearraylist2
-                                       assert tkwasnode3 isa nullable TKwas
-                                       var ptypenode4 = nodearraylist6
-                                       assert ptypenode4 isa nullable AType
-                                       var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
-                                               ptypenode2,
-                                               tkwasnode3,
-                                               ptypenode4
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode3 = nodearraylist1
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pannotationsnode6 = nodearraylist7
+                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               null,
+                                               tclassidnode3,
+                                               listnode5,
+                                               pannotationsnode6
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction590
+private class ReduceAction588
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var ptypenode2 = nodearraylist1
-                                       assert ptypenode2 isa nullable AType
-                                       var tkwasnode3 = nodearraylist2
-                                       assert tkwasnode3 isa nullable TKwas
-                                       var tkwnullablenode4 = nodearraylist4
-                                       assert tkwnullablenode4 isa nullable TKwnullable
-                                       var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
-                                               ptypenode2,
-                                               tkwasnode3,
-                                               tkwnullablenode4
+                                       var listnode5 = new Array[Object]
+                                       var tkwnullablenode2 = nodearraylist1
+                                       assert tkwnullablenode2 isa nullable TKwnullable
+                                       var tclassidnode3 = nodearraylist2
+                                       assert tclassidnode3 isa nullable TClassid
+                                       var listnode4 = nodearraylist5
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pannotationsnode6 = nodearraylist8
+                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var ptypenode1: nullable AType = new AType.init_atype(
+                                               tkwnullablenode2,
+                                               tclassidnode3,
+                                               listnode5,
+                                               pannotationsnode6
                                        )
-                                       node_list = pexterncallnode1
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction591
+private class ReduceAction589
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var ptypenode1 = nodearraylist1
+                                       if ptypenode1 != null then
+                                               listnode2.add(ptypenode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction590
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var ptypenode2 = nodearraylist1
-                                       assert ptypenode2 isa nullable AType
-                                       var tkwasnode3 = nodearraylist2
-                                       assert tkwasnode3 isa nullable TKwas
-                                       var tkwnotnode4 = nodearraylist4
-                                       assert tkwnotnode4 isa nullable TKwnot
-                                       var tkwnullablenode5 = nodearraylist6
-                                       assert tkwnullablenode5 isa nullable TKwnullable
-                                       var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
-                                               ptypenode2,
-                                               tkwasnode3,
-                                               tkwnotnode4,
-                                               tkwnullablenode5
-                                       )
-                                       node_list = pexterncallnode1
+                                       var listnode3 = new Array[Object]
+                                       var ptypenode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       if ptypenode1 != null then
+                                               listnode3.add(ptypenode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction592
+private class ReduceAction591
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwinnode2 = nodearraylist1
-                                       assert tkwinnode2 isa nullable TKwin
-                                       var tstringnode3 = nodearraylist2
-                                       assert tstringnode3 isa nullable TString
-                                       var pinlanguagenode1: nullable AInLanguage = new AInLanguage.init_ainlanguage(
-                                               tkwinnode2,
-                                               tstringnode3
-                                       )
-                                       node_list = pinlanguagenode1
+                                       var ptypenode1 = nodearraylist3
+                                       node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24352,14 +23976,10 @@ private class ReduceAction593
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var texterncodesegmentnode3 = nodearraylist1
-                                       assert texterncodesegmentnode3 isa nullable TExternCodeSegment
-                                       var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
-                                               null,
-                                               texterncodesegmentnode3
-                                       )
-                                       node_list = pexterncodeblocknode1
+                                       var pexprnode1 = nodearraylist2
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24370,15 +23990,14 @@ private class ReduceAction594
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pinlanguagenode2 = nodearraylist1
-                                       assert pinlanguagenode2 isa nullable AInLanguage
-                                       var texterncodesegmentnode3 = nodearraylist2
-                                       assert texterncodesegmentnode3 isa nullable TExternCodeSegment
-                                       var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
-                                               pinlanguagenode2,
-                                               texterncodesegmentnode3
+                                       var listnode2 = new Array[Object]
+                                       var tkwendnode3 = nodearraylist2
+                                       assert tkwendnode3 isa nullable TKwend
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode2,
+                                               tkwendnode3
                                        )
-                                       node_list = pexterncodeblocknode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24387,10 +24006,15 @@ private class ReduceAction595
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexterncodeblocknode1 = nodearraylist2
-                                       node_list = pexterncodeblocknode1
+                                       var listnode2 = new Array[Object]
+                                       var tkwendnode3 = nodearraylist1
+                                       assert tkwendnode3 isa nullable TKwend
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode2,
+                                               tkwendnode3
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24400,16 +24024,8 @@ private class ReduceAction596
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tclassidnode3 = nodearraylist1
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               null,
-                                               tclassidnode3,
-                                               listnode4,
-                                               null
-                                       )
-                                       node_list = ptypenode1
+                                       var pexprnode1 = nodearraylist1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24418,20 +24034,18 @@ private class ReduceAction597
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tkwnullablenode2 = nodearraylist1
-                                       assert tkwnullablenode2 isa nullable TKwnullable
-                                       var tclassidnode3 = nodearraylist2
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               tkwnullablenode2,
-                                               tclassidnode3,
-                                               listnode4,
+                                       var listnode3 = new Array[Object]
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       if pexprnode2 != null then
+                                               listnode3.add(pexprnode2)
+                                       end
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode3,
                                                null
                                        )
-                                       node_list = ptypenode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24443,17 +24057,19 @@ private class ReduceAction598
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
-                                       var tclassidnode3 = nodearraylist1
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               null,
-                                               tclassidnode3,
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode3 = nodearraylist2
+                                       assert listnode3 isa Array[Object]
+                                       if pexprnode2 != null then
+                                               listnode4.add(pexprnode2)
+                                       end
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
                                                listnode4,
-                                               pannotationsnode5
+                                               null
                                        )
-                                       node_list = ptypenode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -24462,1314 +24078,386 @@ private class ReduceAction599
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tkwnullablenode2 = nodearraylist1
-                                       assert tkwnullablenode2 isa nullable TKwnullable
-                                       var tclassidnode3 = nodearraylist2
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var pannotationsnode5 = nodearraylist3
-                                       assert pannotationsnode5 isa nullable AAnnotations
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               tkwnullablenode2,
-                                               tclassidnode3,
-                                               listnode4,
-                                               pannotationsnode5
-                                       )
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction600
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tclassidnode3 = nodearraylist1
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               null,
-                                               tclassidnode3,
-                                               listnode5,
-                                               null
-                                       )
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction601
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tkwnullablenode2 = nodearraylist1
-                                       assert tkwnullablenode2 isa nullable TKwnullable
-                                       var tclassidnode3 = nodearraylist2
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               tkwnullablenode2,
-                                               tclassidnode3,
-                                               listnode5,
-                                               null
-                                       )
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction602
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tclassidnode3 = nodearraylist1
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode6 = nodearraylist7
-                                       assert pannotationsnode6 isa nullable AAnnotations
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               null,
-                                               tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
-                                       )
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction603
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tkwnullablenode2 = nodearraylist1
-                                       assert tkwnullablenode2 isa nullable TKwnullable
-                                       var tclassidnode3 = nodearraylist2
-                                       assert tclassidnode3 isa nullable TClassid
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode6 = nodearraylist8
-                                       assert pannotationsnode6 isa nullable AAnnotations
-                                       var ptypenode1: nullable AType = new AType.init_atype(
-                                               tkwnullablenode2,
-                                               tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
-                                       )
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction604
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var ptypenode1 = nodearraylist1
-                                       if ptypenode1 != null then
-                                               listnode2.add(ptypenode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction605
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var ptypenode1 = nodearraylist1
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       if ptypenode1 != null then
-                                               listnode3.add(ptypenode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction606
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var ptypenode1 = nodearraylist3
-                                       node_list = ptypenode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction608
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pexprnode1 = nodearraylist2
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction609
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var tkwendnode3 = nodearraylist2
-                                       assert tkwendnode3 isa nullable TKwend
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode2,
-                                               tkwendnode3
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction610
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var tkwendnode3 = nodearraylist1
-                                       assert tkwendnode3 isa nullable TKwend
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode2,
-                                               tkwendnode3
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction611
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var pexprnode1 = nodearraylist1
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction612
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       if pexprnode2 != null then
-                                               listnode3.add(pexprnode2)
-                                       end
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode3,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction613
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       if pexprnode2 != null then
-                                               listnode4.add(pexprnode2)
-                                       end
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode4,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction614
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       if pexprnode2 != null then
-                                               listnode3.add(pexprnode2)
-                                       end
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode3,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction615
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       if pexprnode2 != null then
-                                               listnode4.add(pexprnode2)
-                                       end
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode4,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction616
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       if pexprnode2 != null then
-                                               listnode3.add(pexprnode2)
-                                       end
-                                       var tkwendnode4 = nodearraylist3
-                                       assert tkwendnode4 isa nullable TKwend
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode3,
-                                               tkwendnode4
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction617
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var listnode3 = nodearraylist2
-                                       assert listnode3 isa Array[Object]
-                                       if pexprnode2 != null then
-                                               listnode4.add(pexprnode2)
-                                       end
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tkwendnode5 = nodearraylist4
-                                       assert tkwendnode5 isa nullable TKwend
-                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
-                                               listnode4,
-                                               tkwendnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction621
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwreturnnode2 = nodearraylist1
-                                       assert tkwreturnnode2 isa nullable TKwreturn
-                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
-                                               tkwreturnnode2,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction622
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwreturnnode2 = nodearraylist1
-                                       assert tkwreturnnode2 isa nullable TKwreturn
-                                       var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
-                                               tkwreturnnode2,
-                                               pexprnode3
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction623
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
-                                               tkwbreaknode2,
-                                               null,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction624
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var plabelnode3 = nodearraylist2
-                                       assert plabelnode3 isa nullable ALabel
-                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
-                                               tkwbreaknode2,
-                                               plabelnode3,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction625
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
-                                               tkwbreaknode2,
-                                               null,
-                                               pexprnode4
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction626
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var plabelnode3 = nodearraylist2
-                                       assert plabelnode3 isa nullable ALabel
-                                       var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
-                                               tkwbreaknode2,
-                                               plabelnode3,
-                                               pexprnode4
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction627
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwabortnode2 = nodearraylist1
-                                       assert tkwabortnode2 isa nullable TKwabort
-                                       var pexprnode1: nullable AAbortExpr = new AAbortExpr.init_aabortexpr(
-                                               tkwabortnode2
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction628
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwcontinuenode2 = nodearraylist1
-                                       assert tkwcontinuenode2 isa nullable TKwcontinue
-                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
-                                               tkwcontinuenode2,
-                                               null,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction629
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwcontinuenode2 = nodearraylist1
-                                       assert tkwcontinuenode2 isa nullable TKwcontinue
-                                       var plabelnode3 = nodearraylist2
-                                       assert plabelnode3 isa nullable ALabel
-                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
-                                               tkwcontinuenode2,
-                                               plabelnode3,
-                                               null
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction630
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwcontinuenode2 = nodearraylist1
-                                       assert tkwcontinuenode2 isa nullable TKwcontinue
-                                       var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
-                                               tkwcontinuenode2,
-                                               null,
-                                               pexprnode4
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction631
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwcontinuenode2 = nodearraylist1
-                                       assert tkwcontinuenode2 isa nullable TKwcontinue
-                                       var plabelnode3 = nodearraylist2
-                                       assert plabelnode3 isa nullable ALabel
-                                       var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
-                                               tkwcontinuenode2,
-                                               plabelnode3,
-                                               pexprnode4
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction638
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction639
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction640
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction641
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction643
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction644
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction646
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist6
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction647
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist3
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction648
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
+                                       var listnode3 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist7
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
+                                       if pexprnode2 != null then
+                                               listnode3.add(pexprnode2)
+                                       end
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode3,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction649
+private class ReduceAction600
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
+                                       var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist8
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
+                                       var listnode3 = nodearraylist2
+                                       assert listnode3 isa Array[Object]
+                                       if pexprnode2 != null then
+                                               listnode4.add(pexprnode2)
+                                       end
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode4,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction651
+private class ReduceAction601
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist4
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
+                                       var listnode3 = new Array[Object]
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       if pexprnode2 != null then
+                                               listnode3.add(pexprnode2)
+                                       end
+                                       var tkwendnode4 = nodearraylist3
+                                       assert tkwendnode4 isa nullable TKwend
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode3,
+                                               tkwendnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction652
+private class ReduceAction602
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode6 = new Array[Object]
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var listnode5 = nodearraylist5
-                                       assert listnode5 isa Array[Object]
-                                       listnode6 = concat(listnode6, listnode5)
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               listnode6
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction654
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwsupernode3 = nodearraylist1
-                                       assert tkwsupernode3 isa nullable TKwsuper
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
-                                               null,
-                                               tkwsupernode3,
-                                               pexprsnode4
+                                       var listnode4 = new Array[Object]
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode3 = nodearraylist2
+                                       assert listnode3 isa Array[Object]
+                                       if pexprnode2 != null then
+                                               listnode4.add(pexprnode2)
+                                       end
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tkwendnode5 = nodearraylist4
+                                       assert tkwendnode5 isa nullable TKwend
+                                       var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
+                                               listnode4,
+                                               tkwendnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction655
+private class ReduceAction606
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var tclassidnode4 = nodearraylist1
-                                       assert tclassidnode4 isa nullable TClassid
-                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
-                                               listnode3,
-                                               tclassidnode4
-                                       )
-                                       var tkwsupernode5 = nodearraylist2
-                                       assert tkwsupernode5 isa nullable TKwsuper
-                                       var pexprsnode6 = nodearraylist3
-                                       assert pexprsnode6 isa nullable AExprs
-                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
-                                               pqualifiednode2,
-                                               tkwsupernode5,
-                                               pexprsnode6
+                                       var tkwreturnnode2 = nodearraylist1
+                                       assert tkwreturnnode2 isa nullable TKwreturn
+                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
+                                               tkwreturnnode2,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction656
+private class ReduceAction607
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode3 = nodearraylist1
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var tclassidnode5 = nodearraylist2
-                                       assert tclassidnode5 isa nullable TClassid
-                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
-                                               listnode4,
-                                               tclassidnode5
-                                       )
-                                       var tkwsupernode6 = nodearraylist3
-                                       assert tkwsupernode6 isa nullable TKwsuper
-                                       var pexprsnode7 = nodearraylist4
-                                       assert pexprsnode7 isa nullable AExprs
-                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
-                                               pqualifiednode2,
-                                               tkwsupernode6,
-                                               pexprsnode7
+                                       var tkwreturnnode2 = nodearraylist1
+                                       assert tkwreturnnode2 isa nullable TKwreturn
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
+                                               tkwreturnnode2,
+                                               pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction657
+private class ReduceAction608
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var listnode3 = nodearraylist1
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
-                                               listnode4,
+                                       var tkwbreaknode2 = nodearraylist1
+                                       assert tkwbreaknode2 isa nullable TKwbreak
+                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
+                                               tkwbreaknode2,
+                                               null,
                                                null
                                        )
-                                       var tkwsupernode6 = nodearraylist2
-                                       assert tkwsupernode6 isa nullable TKwsuper
-                                       var pexprsnode7 = nodearraylist3
-                                       assert pexprsnode7 isa nullable AExprs
-                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
-                                               pqualifiednode2,
-                                               tkwsupernode6,
-                                               pexprsnode7
-                                       )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction658
+private class ReduceAction609
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tkwinitnode3 = nodearraylist4
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwbreaknode2 = nodearraylist1
+                                       assert tkwbreaknode2 isa nullable TKwbreak
+                                       var plabelnode3 = nodearraylist2
+                                       assert plabelnode3 isa nullable ALabel
+                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
+                                               tkwbreaknode2,
+                                               plabelnode3,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction659
+private class ReduceAction610
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tkwinitnode3 = nodearraylist1
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwbreaknode2 = nodearraylist1
+                                       assert tkwbreaknode2 isa nullable TKwbreak
+                                       var pexprnode4 = nodearraylist2
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
+                                               tkwbreaknode2,
+                                               null,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction660
+private class ReduceAction611
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tkwinitnode3 = nodearraylist5
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwbreaknode2 = nodearraylist1
+                                       assert tkwbreaknode2 isa nullable TKwbreak
+                                       var plabelnode3 = nodearraylist2
+                                       assert plabelnode3 isa nullable ALabel
+                                       var pexprnode4 = nodearraylist3
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
+                                               tkwbreaknode2,
+                                               plabelnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction661
+private class ReduceAction612
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tkwinitnode3 = nodearraylist6
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwabortnode2 = nodearraylist1
+                                       assert tkwabortnode2 isa nullable TKwabort
+                                       var pexprnode1: nullable AAbortExpr = new AAbortExpr.init_aabortexpr(
+                                               tkwabortnode2
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction663
+private class ReduceAction613
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tkwinitnode3 = nodearraylist2
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwcontinuenode2 = nodearraylist1
+                                       assert tkwcontinuenode2 isa nullable TKwcontinue
+                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
+                                               tkwcontinuenode2,
+                                               null,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction664
+private class ReduceAction614
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tkwinitnode3 = nodearraylist3
-                                       assert tkwinitnode3 isa nullable TKwinit
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
-                                               pexprnode2,
-                                               tkwinitnode3,
-                                               pexprsnode4
+                                       var tkwcontinuenode2 = nodearraylist1
+                                       assert tkwcontinuenode2 isa nullable TKwcontinue
+                                       var plabelnode3 = nodearraylist2
+                                       assert plabelnode3 isa nullable ALabel
+                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
+                                               tkwcontinuenode2,
+                                               plabelnode3,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction666
+private class ReduceAction615
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwdebugnode2 = nodearraylist1
-                                       assert tkwdebugnode2 isa nullable TKwdebug
-                                       var tkwtypenode3 = nodearraylist2
-                                       assert tkwtypenode3 isa nullable TKwtype
-                                       var pexprnode4 = nodearraylist5
+                                       var tkwcontinuenode2 = nodearraylist1
+                                       assert tkwcontinuenode2 isa nullable TKwcontinue
+                                       var pexprnode4 = nodearraylist2
                                        assert pexprnode4 isa nullable AExpr
-                                       var ptypenode5 = nodearraylist3
-                                       assert ptypenode5 isa nullable AType
-                                       var pexprnode1: nullable ADebugTypeExpr = new ADebugTypeExpr.init_adebugtypeexpr(
-                                               tkwdebugnode2,
-                                               tkwtypenode3,
-                                               pexprnode4,
-                                               ptypenode5
+                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
+                                               tkwcontinuenode2,
+                                               null,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction667
+private class ReduceAction616
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwlabelnode2 = nodearraylist1
-                                       assert tkwlabelnode2 isa nullable TKwlabel
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var plabelnode1: nullable ALabel = new ALabel.init_alabel(
-                                               tkwlabelnode2,
-                                               tidnode3
+                                       var tkwcontinuenode2 = nodearraylist1
+                                       assert tkwcontinuenode2 isa nullable TKwcontinue
+                                       var plabelnode3 = nodearraylist2
+                                       assert plabelnode3 isa nullable ALabel
+                                       var pexprnode4 = nodearraylist3
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
+                                               tkwcontinuenode2,
+                                               plabelnode3,
+                                               pexprnode4
                                        )
-                                       node_list = plabelnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction668
+private class ReduceAction623
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pclosuredefnode1 = nodearraylist1
-                                       if pclosuredefnode1 != null then
-                                               listnode2.add(pclosuredefnode1)
-                                       end
-                                       node_list = listnode2
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tidnode3 = nodearraylist4
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction669
+private class ReduceAction624
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var pclosuredefnode1 = nodearraylist1
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       if pclosuredefnode1 != null then
-                                               listnode3.add(pclosuredefnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode3 = nodearraylist1
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction670
+private class ReduceAction625
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
-                                       var plabelnode7 = nodearraylist5
-                                       assert plabelnode7 isa nullable ALabel
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               plabelnode7
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tidnode3 = nodearraylist5
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist6
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction671
+private class ReduceAction626
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
                                        var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
@@ -25777,70 +24465,44 @@ private class ReduceAction671
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist8
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist9
-                                       assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist10
-                                       assert plabelnode8 isa nullable ALabel
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               plabelnode8
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tidnode3 = nodearraylist6
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist7
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction672
+private class ReduceAction628
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist6
-                                       assert plabelnode8 isa nullable ALabel
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               plabelnode8
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode3 = nodearraylist2
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist3
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction673
+private class ReduceAction629
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -25848,369 +24510,275 @@ private class ReduceAction673
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               null
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode3 = nodearraylist3
+                                       assert tidnode3 isa nullable TId
+                                       var pexprsnode4 = nodearraylist4
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               tidnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction674
+private class ReduceAction631
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist8
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist9
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var tkwsupernode3 = nodearraylist1
+                                       assert tkwsupernode3 isa nullable TKwsuper
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
+                                               null,
+                                               tkwsupernode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction675
+private class ReduceAction632
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var listnode3 = new Array[Object]
+                                       var tclassidnode4 = nodearraylist1
+                                       assert tclassidnode4 isa nullable TClassid
+                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode3,
+                                               tclassidnode4
+                                       )
+                                       var tkwsupernode5 = nodearraylist2
+                                       assert tkwsupernode5 isa nullable TKwsuper
+                                       var pexprsnode6 = nodearraylist3
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
+                                               pqualifiednode2,
+                                               tkwsupernode5,
+                                               pexprsnode6
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction676
+private class ReduceAction633
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
+                                       var listnode3 = nodearraylist1
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tclassidnode5 = nodearraylist2
+                                       assert tclassidnode5 isa nullable TClassid
+                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
                                                listnode4,
-                                               null,
-                                               pexprnode6,
-                                               null
+                                               tclassidnode5
+                                       )
+                                       var tkwsupernode6 = nodearraylist3
+                                       assert tkwsupernode6 isa nullable TKwsuper
+                                       var pexprsnode7 = nodearraylist4
+                                       assert pexprsnode7 isa nullable AExprs
+                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
+                                               pqualifiednode2,
+                                               tkwsupernode6,
+                                               pexprsnode7
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction677
+private class ReduceAction634
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               null,
-                                               pexprnode7,
+                                       var listnode4 = new Array[Object]
+                                       var listnode3 = nodearraylist1
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode4,
                                                null
                                        )
-                                       node_list = pclosuredefnode1
+                                       var tkwsupernode6 = nodearraylist2
+                                       assert tkwsupernode6 isa nullable TKwsuper
+                                       var pexprsnode7 = nodearraylist3
+                                       assert pexprsnode7 isa nullable AExprs
+                                       var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
+                                               pqualifiednode2,
+                                               tkwsupernode6,
+                                               pexprsnode7
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction678
+private class ReduceAction635
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               null,
-                                               pexprnode7,
-                                               null
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tkwinitnode3 = nodearraylist4
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist5
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction679
+private class ReduceAction636
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               null
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tkwinitnode3 = nodearraylist1
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist2
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction680
+private class ReduceAction637
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist8
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tkwinitnode3 = nodearraylist5
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist6
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction681
+private class ReduceAction638
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tkwinitnode3 = nodearraylist6
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist7
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction682
+private class ReduceAction640
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               null,
-                                               null
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tkwinitnode3 = nodearraylist2
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist3
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction683
+private class ReduceAction641
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist5
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist8
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               null,
-                                               null
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tkwinitnode3 = nodearraylist3
+                                       assert tkwinitnode3 isa nullable TKwinit
+                                       var pexprsnode4 = nodearraylist4
+                                       assert pexprsnode4 isa nullable AExprs
+                                       var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
+                                               pexprnode2,
+                                               tkwinitnode3,
+                                               pexprsnode4
                                        )
-                                       node_list = pclosuredefnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction684
+private class ReduceAction643
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26220,59 +24788,44 @@ private class ReduceAction684
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tbangnode2 = nodearraylist1
-                                       assert tbangnode2 isa nullable TBang
-                                       var pclosureidnode3 = nodearraylist2
-                                       assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
-                                               tbangnode2,
-                                               pclosureidnode3,
-                                               listnode5,
-                                               tkwdonode6,
-                                               null,
-                                               null
-                                       )
-                                       node_list = pclosuredefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction685
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist1
-                                       assert tidnode2 isa nullable TId
-                                       var pclosureidnode1: nullable ASimpleClosureId = new ASimpleClosureId.init_asimpleclosureid(
-                                               tidnode2
+                                       var tkwdebugnode2 = nodearraylist1
+                                       assert tkwdebugnode2 isa nullable TKwdebug
+                                       var tkwtypenode3 = nodearraylist2
+                                       assert tkwtypenode3 isa nullable TKwtype
+                                       var pexprnode4 = nodearraylist5
+                                       assert pexprnode4 isa nullable AExpr
+                                       var ptypenode5 = nodearraylist3
+                                       assert ptypenode5 isa nullable AType
+                                       var pexprnode1: nullable ADebugTypeExpr = new ADebugTypeExpr.init_adebugtypeexpr(
+                                               tkwdebugnode2,
+                                               tkwtypenode3,
+                                               pexprnode4,
+                                               ptypenode5
                                        )
-                                       node_list = pclosureidnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction686
+private class ReduceAction644
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwbreaknode2 = nodearraylist1
-                                       assert tkwbreaknode2 isa nullable TKwbreak
-                                       var pclosureidnode1: nullable ABreakClosureId = new ABreakClosureId.init_abreakclosureid(
-                                               tkwbreaknode2
+                                       var tkwlabelnode2 = nodearraylist1
+                                       assert tkwlabelnode2 isa nullable TKwlabel
+                                       var tidnode3 = nodearraylist2
+                                       assert tidnode3 isa nullable TId
+                                       var plabelnode1: nullable ALabel = new ALabel.init_alabel(
+                                               tkwlabelnode2,
+                                               tidnode3
                                        )
-                                       node_list = pclosureidnode1
+                                       node_list = plabelnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction687
+private class ReduceAction645
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26289,7 +24842,7 @@ private class ReduceAction687
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction688
+private class ReduceAction646
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26312,7 +24865,7 @@ private class ReduceAction688
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction689
+private class ReduceAction647
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26338,7 +24891,7 @@ private class ReduceAction689
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction690
+private class ReduceAction648
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26364,7 +24917,7 @@ private class ReduceAction690
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction691
+private class ReduceAction649
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26393,7 +24946,7 @@ private class ReduceAction691
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction692
+private class ReduceAction650
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26423,7 +24976,7 @@ private class ReduceAction692
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction693
+private class ReduceAction651
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26456,7 +25009,7 @@ private class ReduceAction693
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction694
+private class ReduceAction652
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26489,7 +25042,7 @@ private class ReduceAction694
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction695
+private class ReduceAction653
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26525,7 +25078,7 @@ private class ReduceAction695
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction696
+private class ReduceAction654
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26554,7 +25107,7 @@ private class ReduceAction696
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction697
+private class ReduceAction655
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26579,7 +25132,7 @@ private class ReduceAction697
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction698
+private class ReduceAction656
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26609,7 +25162,7 @@ private class ReduceAction698
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction699
+private class ReduceAction657
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26640,7 +25193,7 @@ private class ReduceAction699
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction701
+private class ReduceAction659
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26666,7 +25219,7 @@ private class ReduceAction701
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction702
+private class ReduceAction660
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26693,7 +25246,7 @@ private class ReduceAction702
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction704
+private class ReduceAction662
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26726,7 +25279,7 @@ private class ReduceAction704
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction705
+private class ReduceAction663
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26755,7 +25308,7 @@ private class ReduceAction705
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction706
+private class ReduceAction664
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26789,7 +25342,7 @@ private class ReduceAction706
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction707
+private class ReduceAction665
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26824,7 +25377,7 @@ private class ReduceAction707
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction709
+private class ReduceAction667
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26854,7 +25407,7 @@ private class ReduceAction709
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction710
+private class ReduceAction668
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26885,7 +25438,7 @@ private class ReduceAction710
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction712
+private class ReduceAction670
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26912,7 +25465,7 @@ private class ReduceAction712
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction713
+private class ReduceAction671
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26941,7 +25494,7 @@ private class ReduceAction713
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction714
+private class ReduceAction672
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26966,7 +25519,7 @@ private class ReduceAction714
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction715
+private class ReduceAction673
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -26996,7 +25549,7 @@ private class ReduceAction715
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction716
+private class ReduceAction674
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27027,7 +25580,7 @@ private class ReduceAction716
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction718
+private class ReduceAction676
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27053,7 +25606,7 @@ private class ReduceAction718
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction719
+private class ReduceAction677
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27080,7 +25633,7 @@ private class ReduceAction719
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction721
+private class ReduceAction679
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27113,7 +25666,7 @@ private class ReduceAction721
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction722
+private class ReduceAction680
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27142,7 +25695,7 @@ private class ReduceAction722
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction723
+private class ReduceAction681
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27176,7 +25729,7 @@ private class ReduceAction723
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction724
+private class ReduceAction682
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27211,7 +25764,7 @@ private class ReduceAction724
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction726
+private class ReduceAction684
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27241,7 +25794,7 @@ private class ReduceAction726
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction727
+private class ReduceAction685
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27272,7 +25825,7 @@ private class ReduceAction727
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction729
+private class ReduceAction687
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27299,7 +25852,7 @@ private class ReduceAction729
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction730
+private class ReduceAction688
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27314,7 +25867,7 @@ private class ReduceAction730
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction731
+private class ReduceAction689
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27329,7 +25882,7 @@ private class ReduceAction731
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction732
+private class ReduceAction690
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27352,7 +25905,7 @@ private class ReduceAction732
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction733
+private class ReduceAction691
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27372,7 +25925,7 @@ private class ReduceAction733
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction734
+private class ReduceAction692
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27403,7 +25956,7 @@ private class ReduceAction734
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction735
+private class ReduceAction693
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27430,7 +25983,7 @@ private class ReduceAction735
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction736
+private class ReduceAction694
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27461,7 +26014,7 @@ private class ReduceAction736
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction737
+private class ReduceAction695
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27488,7 +26041,7 @@ private class ReduceAction737
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction738
+private class ReduceAction696
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27516,7 +26069,7 @@ private class ReduceAction738
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction741
+private class ReduceAction699
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27539,7 +26092,7 @@ private class ReduceAction741
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction742
+private class ReduceAction700
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27559,7 +26112,7 @@ private class ReduceAction742
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction743
+private class ReduceAction701
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27592,7 +26145,7 @@ private class ReduceAction743
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction744
+private class ReduceAction702
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27622,7 +26175,7 @@ private class ReduceAction744
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction745
+private class ReduceAction703
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27668,7 +26221,7 @@ private class ReduceAction745
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction746
+private class ReduceAction704
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27710,7 +26263,7 @@ private class ReduceAction746
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction747
+private class ReduceAction705
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27753,7 +26306,7 @@ private class ReduceAction747
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction748
+private class ReduceAction706
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27792,7 +26345,7 @@ private class ReduceAction748
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction749
+private class ReduceAction707
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27817,7 +26370,7 @@ private class ReduceAction749
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction750
+private class ReduceAction708
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27845,7 +26398,7 @@ private class ReduceAction750
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction751
+private class ReduceAction709
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27866,7 +26419,7 @@ private class ReduceAction751
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction752
+private class ReduceAction710
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27890,7 +26443,7 @@ private class ReduceAction752
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction753
+private class ReduceAction711
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27902,32 +26455,7 @@ private class ReduceAction753
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction763
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprsnode3 = nodearraylist2
-                                       assert pexprsnode3 isa nullable AExprs
-                                       var listnode4 = nodearraylist3
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr(
-                                               pexprnode2,
-                                               pexprsnode3,
-                                               listnode5
-                                       )
-                                       node_list = pexprnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction765
+private class ReduceAction714
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27967,7 +26495,7 @@ private class ReduceAction765
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction767
+private class ReduceAction716
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -27988,7 +26516,7 @@ private class ReduceAction767
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction768
+private class ReduceAction717
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28009,7 +26537,7 @@ private class ReduceAction768
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction769
+private class ReduceAction718
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28031,48 +26559,48 @@ private class ReduceAction769
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction771
+private class ReduceAction719
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwnotnode2 = nodearraylist1
-                                       assert tkwnotnode2 isa nullable TKwnot
-                                       var pexprnode3 = nodearraylist3
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var pexprnode3 = nodearraylist4
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
-                                               tkwnotnode2,
+                                       var pexprnode1: nullable AImpliesExpr = new AImpliesExpr.init_aimpliesexpr(
+                                               pexprnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction773
+private class ReduceAction721
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
+                                       var tkwnotnode2 = nodearraylist1
+                                       assert tkwnotnode2 isa nullable TKwnot
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
-                                               pexprnode2,
+                                       var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
+                                               tkwnotnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction774
+private class ReduceAction723
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28085,7 +26613,7 @@ private class ReduceAction774
                                        assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
+                                       var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
                                        )
@@ -28093,7 +26621,7 @@ private class ReduceAction774
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction775
+private class ReduceAction724
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28114,7 +26642,7 @@ private class ReduceAction775
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction776
+private class ReduceAction725
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28135,7 +26663,7 @@ private class ReduceAction776
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction777
+private class ReduceAction726
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28156,7 +26684,7 @@ private class ReduceAction777
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction778
+private class ReduceAction727
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28177,7 +26705,7 @@ private class ReduceAction778
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction779
+private class ReduceAction728
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28198,7 +26726,7 @@ private class ReduceAction779
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction780
+private class ReduceAction729
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28219,7 +26747,7 @@ private class ReduceAction780
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction781
+private class ReduceAction730
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28240,7 +26768,7 @@ private class ReduceAction781
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction782
+private class ReduceAction731
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28261,7 +26789,7 @@ private class ReduceAction782
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction783
+private class ReduceAction732
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28282,7 +26810,7 @@ private class ReduceAction783
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction785
+private class ReduceAction734
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28303,7 +26831,7 @@ private class ReduceAction785
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction786
+private class ReduceAction735
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28324,7 +26852,7 @@ private class ReduceAction786
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction788
+private class ReduceAction737
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28345,7 +26873,7 @@ private class ReduceAction788
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction789
+private class ReduceAction738
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28366,7 +26894,7 @@ private class ReduceAction789
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction790
+private class ReduceAction739
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28387,7 +26915,7 @@ private class ReduceAction790
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction792
+private class ReduceAction741
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28407,7 +26935,7 @@ private class ReduceAction792
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction793
+private class ReduceAction742
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28427,7 +26955,7 @@ private class ReduceAction793
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction795
+private class ReduceAction744
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28452,7 +26980,7 @@ private class ReduceAction795
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction796
+private class ReduceAction745
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28477,7 +27005,7 @@ private class ReduceAction796
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction797
+private class ReduceAction746
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28498,7 +27026,7 @@ private class ReduceAction797
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction798
+private class ReduceAction747
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28524,7 +27052,7 @@ private class ReduceAction798
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction799
+private class ReduceAction748
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28551,7 +27079,7 @@ private class ReduceAction799
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction801
+private class ReduceAction750
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28573,7 +27101,7 @@ private class ReduceAction801
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction802
+private class ReduceAction751
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28596,7 +27124,7 @@ private class ReduceAction802
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction804
+private class ReduceAction753
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28617,7 +27145,7 @@ private class ReduceAction804
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction805
+private class ReduceAction754
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28634,7 +27162,7 @@ private class ReduceAction805
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction806
+private class ReduceAction755
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28656,7 +27184,7 @@ private class ReduceAction806
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction807
+private class ReduceAction756
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28679,7 +27207,7 @@ private class ReduceAction807
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction809
+private class ReduceAction758
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28697,7 +27225,7 @@ private class ReduceAction809
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction810
+private class ReduceAction759
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28716,28 +27244,26 @@ private class ReduceAction810
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction826
+private class ReduceAction775
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var pexprsnode3 = nodearraylist2
                                        assert pexprsnode3 isa nullable AExprs
                                        var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr(
                                                pexprnode2,
-                                               pexprsnode3,
-                                               listnode4
+                                               pexprsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction827
+private class ReduceAction776
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28767,7 +27293,7 @@ private class ReduceAction827
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction828
+private class ReduceAction777
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28798,7 +27324,7 @@ private class ReduceAction828
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction829
+private class ReduceAction778
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28830,7 +27356,7 @@ private class ReduceAction829
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction831
+private class ReduceAction780
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28863,7 +27389,7 @@ private class ReduceAction831
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction832
+private class ReduceAction781
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28899,7 +27425,7 @@ private class ReduceAction832
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction833
+private class ReduceAction782
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28932,7 +27458,7 @@ private class ReduceAction833
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction834
+private class ReduceAction783
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28968,7 +27494,7 @@ private class ReduceAction834
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction835
+private class ReduceAction784
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -28984,7 +27510,7 @@ private class ReduceAction835
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction836
+private class ReduceAction785
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29003,7 +27529,7 @@ private class ReduceAction836
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction837
+private class ReduceAction786
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29019,7 +27545,7 @@ private class ReduceAction837
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction838
+private class ReduceAction787
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29038,7 +27564,7 @@ private class ReduceAction838
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction839
+private class ReduceAction788
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29054,7 +27580,7 @@ private class ReduceAction839
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction840
+private class ReduceAction789
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29073,7 +27599,7 @@ private class ReduceAction840
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction841
+private class ReduceAction790
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29089,7 +27615,7 @@ private class ReduceAction841
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction842
+private class ReduceAction791
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29108,7 +27634,7 @@ private class ReduceAction842
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction843
+private class ReduceAction792
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29124,7 +27650,7 @@ private class ReduceAction843
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction844
+private class ReduceAction793
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29143,7 +27669,7 @@ private class ReduceAction844
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction845
+private class ReduceAction794
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29159,7 +27685,7 @@ private class ReduceAction845
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction846
+private class ReduceAction795
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29178,7 +27704,7 @@ private class ReduceAction846
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction847
+private class ReduceAction796
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29194,7 +27720,7 @@ private class ReduceAction847
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction848
+private class ReduceAction797
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29213,7 +27739,7 @@ private class ReduceAction848
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction849
+private class ReduceAction798
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29229,7 +27755,7 @@ private class ReduceAction849
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction850
+private class ReduceAction799
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29248,7 +27774,7 @@ private class ReduceAction850
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction851
+private class ReduceAction800
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29264,7 +27790,7 @@ private class ReduceAction851
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction852
+private class ReduceAction801
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29283,7 +27809,7 @@ private class ReduceAction852
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction854
+private class ReduceAction803
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29309,7 +27835,7 @@ private class ReduceAction854
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction855
+private class ReduceAction804
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29338,7 +27864,7 @@ private class ReduceAction855
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction856
+private class ReduceAction805
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29374,7 +27900,7 @@ private class ReduceAction856
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction857
+private class ReduceAction806
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29415,7 +27941,7 @@ private class ReduceAction857
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction858
+private class ReduceAction807
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29439,7 +27965,7 @@ private class ReduceAction858
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction859
+private class ReduceAction808
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29467,7 +27993,7 @@ private class ReduceAction859
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction860
+private class ReduceAction809
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29494,7 +28020,7 @@ private class ReduceAction860
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction861
+private class ReduceAction810
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29525,7 +28051,7 @@ private class ReduceAction861
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction862
+private class ReduceAction811
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29547,7 +28073,7 @@ private class ReduceAction862
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction863
+private class ReduceAction812
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29562,7 +28088,7 @@ private class ReduceAction863
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction865
+private class ReduceAction814
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29577,7 +28103,7 @@ private class ReduceAction865
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction866
+private class ReduceAction815
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29592,7 +28118,7 @@ private class ReduceAction866
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction867
+private class ReduceAction816
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29617,7 +28143,7 @@ private class ReduceAction867
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction868
+private class ReduceAction817
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29648,7 +28174,7 @@ private class ReduceAction868
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction869
+private class ReduceAction818
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29668,7 +28194,7 @@ private class ReduceAction869
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction870
+private class ReduceAction819
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29691,7 +28217,7 @@ private class ReduceAction870
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction871
+private class ReduceAction820
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29723,7 +28249,7 @@ private class ReduceAction871
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction872
+private class ReduceAction821
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29758,7 +28284,7 @@ private class ReduceAction872
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction873
+private class ReduceAction822
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29778,7 +28304,7 @@ private class ReduceAction873
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction874
+private class ReduceAction823
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29793,7 +28319,7 @@ private class ReduceAction874
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction875
+private class ReduceAction824
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29812,7 +28338,7 @@ private class ReduceAction875
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction877
+private class ReduceAction826
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29834,7 +28360,7 @@ private class ReduceAction877
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction878
+private class ReduceAction827
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29859,7 +28385,7 @@ private class ReduceAction878
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction879
+private class ReduceAction828
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29892,7 +28418,7 @@ private class ReduceAction879
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction880
+private class ReduceAction829
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29928,7 +28454,7 @@ private class ReduceAction880
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction881
+private class ReduceAction830
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29954,7 +28480,7 @@ private class ReduceAction881
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction882
+private class ReduceAction831
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29967,7 +28493,7 @@ private class ReduceAction882
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction883
+private class ReduceAction832
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -29982,7 +28508,7 @@ private class ReduceAction883
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction884
+private class ReduceAction833
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30001,7 +28527,7 @@ private class ReduceAction884
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction885
+private class ReduceAction834
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30014,7 +28540,7 @@ private class ReduceAction885
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction886
+private class ReduceAction835
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30029,7 +28555,7 @@ private class ReduceAction886
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction887
+private class ReduceAction836
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30044,7 +28570,7 @@ private class ReduceAction887
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction889
+private class ReduceAction838
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30059,7 +28585,7 @@ private class ReduceAction889
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction890
+private class ReduceAction839
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30074,40 +28600,7 @@ private class ReduceAction890
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction891
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist2
-                                       assert tidnode2 isa nullable TId
-                                       var patidnode1: nullable AIdAtid = new AIdAtid.init_aidatid(
-                                               tidnode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction892
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tidnode2 = nodearraylist3
-                                       assert tidnode2 isa nullable TId
-                                       var patidnode1: nullable AIdAtid = new AIdAtid.init_aidatid(
-                                               tidnode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction894
+private class ReduceAction840
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30122,40 +28615,7 @@ private class ReduceAction894
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction895
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwreadablenode2 = nodearraylist2
-                                       assert tkwreadablenode2 isa nullable TKwreadable
-                                       var patidnode1: nullable AKwreadableAtid = new AKwreadableAtid.init_akwreadableatid(
-                                               tkwreadablenode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction896
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwreadablenode2 = nodearraylist3
-                                       assert tkwreadablenode2 isa nullable TKwreadable
-                                       var patidnode1: nullable AKwreadableAtid = new AKwreadableAtid.init_akwreadableatid(
-                                               tkwreadablenode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction898
+private class ReduceAction841
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30170,40 +28630,7 @@ private class ReduceAction898
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction899
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwwritablenode2 = nodearraylist2
-                                       assert tkwwritablenode2 isa nullable TKwwritable
-                                       var patidnode1: nullable AKwwritableAtid = new AKwwritableAtid.init_akwwritableatid(
-                                               tkwwritablenode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction900
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwwritablenode2 = nodearraylist3
-                                       assert tkwwritablenode2 isa nullable TKwwritable
-                                       var patidnode1: nullable AKwwritableAtid = new AKwwritableAtid.init_akwwritableatid(
-                                               tkwwritablenode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction902
+private class ReduceAction842
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30218,40 +28645,7 @@ private class ReduceAction902
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction903
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwimportnode2 = nodearraylist2
-                                       assert tkwimportnode2 isa nullable TKwimport
-                                       var patidnode1: nullable AKwimportAtid = new AKwimportAtid.init_akwimportatid(
-                                               tkwimportnode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction904
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwimportnode2 = nodearraylist3
-                                       assert tkwimportnode2 isa nullable TKwimport
-                                       var patidnode1: nullable AKwimportAtid = new AKwimportAtid.init_akwimportatid(
-                                               tkwimportnode2
-                                       )
-                                       node_list = patidnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction906
+private class ReduceAction843
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30277,7 +28671,7 @@ private class ReduceAction906
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction907
+private class ReduceAction844
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30299,7 +28693,7 @@ private class ReduceAction907
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction908
+private class ReduceAction845
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30312,7 +28706,7 @@ private class ReduceAction908
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction910
+private class ReduceAction847
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30331,7 +28725,7 @@ private class ReduceAction910
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction913
+private class ReduceAction850
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30357,7 +28751,7 @@ private class ReduceAction913
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction914
+private class ReduceAction851
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30373,7 +28767,7 @@ private class ReduceAction914
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction915
+private class ReduceAction852
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30393,7 +28787,7 @@ private class ReduceAction915
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction916
+private class ReduceAction853
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30407,7 +28801,7 @@ private class ReduceAction916
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction917
+private class ReduceAction854
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30422,7 +28816,7 @@ private class ReduceAction917
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction918
+private class ReduceAction855
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30444,7 +28838,7 @@ private class ReduceAction918
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction919
+private class ReduceAction856
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30462,7 +28856,7 @@ private class ReduceAction919
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction920
+private class ReduceAction857
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30484,7 +28878,7 @@ private class ReduceAction920
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction921
+private class ReduceAction858
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30506,7 +28900,7 @@ private class ReduceAction921
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction922
+private class ReduceAction859
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30532,7 +28926,7 @@ private class ReduceAction922
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction923
+private class ReduceAction860
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30545,7 +28939,7 @@ private class ReduceAction923
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction924
+private class ReduceAction861
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30558,7 +28952,7 @@ private class ReduceAction924
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction925
+private class ReduceAction862
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30567,7 +28961,7 @@ private class ReduceAction925
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction927
+private class ReduceAction864
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30584,7 +28978,7 @@ private class ReduceAction927
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction928
+private class ReduceAction865
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30602,7 +28996,7 @@ private class ReduceAction928
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction930
+private class ReduceAction867
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30611,7 +29005,7 @@ private class ReduceAction930
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction931
+private class ReduceAction868
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30622,7 +29016,7 @@ private class ReduceAction931
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction932
+private class ReduceAction869
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30632,7 +29026,7 @@ private class ReduceAction932
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction933
+private class ReduceAction870
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30643,7 +29037,7 @@ private class ReduceAction933
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1313
+private class ReduceAction1215
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30666,7 +29060,7 @@ private class ReduceAction1313
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1314
+private class ReduceAction1216
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30690,7 +29084,7 @@ private class ReduceAction1314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1317
+private class ReduceAction1219
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30709,7 +29103,7 @@ private class ReduceAction1317
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1318
+private class ReduceAction1220
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30729,7 +29123,7 @@ private class ReduceAction1318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1321
+private class ReduceAction1223
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30737,7 +29131,6 @@ private class ReduceAction1321
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist2
@@ -30747,14 +29140,13 @@ private class ReduceAction1321
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               pexprsnode4,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1322
+private class ReduceAction1224
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30763,7 +29155,6 @@ private class ReduceAction1322
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist3
@@ -30773,14 +29164,13 @@ private class ReduceAction1322
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
                                                tidnode3,
-                                               pexprsnode4,
-                                               listnode5
+                                               pexprsnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1329
+private class ReduceAction1231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30803,7 +29193,7 @@ private class ReduceAction1329
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1353
+private class ReduceAction1255
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30816,7 +29206,7 @@ private class ReduceAction1353
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1354
+private class ReduceAction1256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30826,7 +29216,7 @@ private class ReduceAction1354
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1764
+private class ReduceAction1524
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30841,7 +29231,7 @@ private class ReduceAction1764
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1765
+private class ReduceAction1525
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30860,7 +29250,7 @@ private class ReduceAction1765
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1766
+private class ReduceAction1526
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30875,7 +29265,7 @@ private class ReduceAction1766
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1767
+private class ReduceAction1527
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30894,7 +29284,7 @@ private class ReduceAction1767
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1768
+private class ReduceAction1528
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30909,7 +29299,7 @@ private class ReduceAction1768
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1769
+private class ReduceAction1529
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30928,7 +29318,7 @@ private class ReduceAction1769
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1770
+private class ReduceAction1530
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30943,7 +29333,7 @@ private class ReduceAction1770
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1771
+private class ReduceAction1531
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30962,7 +29352,7 @@ private class ReduceAction1771
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1772
+private class ReduceAction1532
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30977,7 +29367,7 @@ private class ReduceAction1772
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1773
+private class ReduceAction1533
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -30996,7 +29386,7 @@ private class ReduceAction1773
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1776
+private class ReduceAction1536
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31011,7 +29401,7 @@ private class ReduceAction1776
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1777
+private class ReduceAction1537
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31030,7 +29420,7 @@ private class ReduceAction1777
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1778
+private class ReduceAction1538
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31045,7 +29435,7 @@ private class ReduceAction1778
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1779
+private class ReduceAction1539
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31064,41 +29454,7 @@ private class ReduceAction1779
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1780
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pclosuredeclnode1 = nodearraylist1
-                                       if pclosuredeclnode1 != null then
-                                               listnode2.add(pclosuredeclnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1781
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       var pclosuredeclnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if pclosuredeclnode2 != null then
-                                               listnode3.add(pclosuredeclnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1782
+private class ReduceAction1540
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31113,7 +29469,7 @@ private class ReduceAction1782
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1783
+private class ReduceAction1541
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31132,7 +29488,7 @@ private class ReduceAction1783
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1785
+private class ReduceAction1543
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31151,7 +29507,7 @@ private class ReduceAction1785
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1786
+private class ReduceAction1544
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31166,7 +29522,7 @@ private class ReduceAction1786
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1787
+private class ReduceAction1545
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31185,7 +29541,21 @@ private class ReduceAction1787
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1789
+private class ReduceAction1546
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       listnode2 = concat(listnode2, listnode1)
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction1547
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31203,7 +29573,7 @@ private class ReduceAction1789
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1791
+private class ReduceAction1549
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31222,7 +29592,7 @@ private class ReduceAction1791
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1795
+private class ReduceAction1553
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31241,7 +29611,7 @@ private class ReduceAction1795
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1799
+private class ReduceAction1557
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31260,7 +29630,7 @@ private class ReduceAction1799
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1800
+private class ReduceAction1558
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31275,7 +29645,7 @@ private class ReduceAction1800
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1801
+private class ReduceAction1559
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31294,7 +29664,7 @@ private class ReduceAction1801
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1802
+private class ReduceAction1560
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -31309,7 +29679,7 @@ private class ReduceAction1802
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1803
+private class ReduceAction1561
        super ReduceAction
        redef fun action(p: Parser)
        do