Merge: UTF-8 Strings
[nit.git] / src / parser / parser.nit
index 113a2a3..0446324 100644 (file)
@@ -1,6 +1,6 @@
 # Parser.
 # This file was generated by SableCC (http://www.sablecc.org/).
-module parser
+module parser is no_warning("missing-doc", "unread-variable")
 
 intrude import parser_prod
 intrude import parser_work
@@ -9,1016 +9,1124 @@ private import tables
 redef class Parser
        redef fun build_reduce_table
        do
-               _reduce_table = new Array[ReduceAction].with_items(
-                       new ReduceAction0(0),
-                       new ReduceAction1(0),
-                       new ReduceAction2(0),
-                       new ReduceAction3(0),
-                       new ReduceAction4(0),
-                       new ReduceAction5(0),
-                       new ReduceAction6(0),
-                       new ReduceAction7(0),
-                       new ReduceAction8(0),
-                       new ReduceAction9(0),
-                       new ReduceAction10(0),
-                       new ReduceAction11(0),
-                       new ReduceAction12(0),
-                       new ReduceAction13(0),
-                       new ReduceAction14(0),
-                       new ReduceAction15(0),
-                       new ReduceAction16(1),
-                       new ReduceAction17(2),
-                       new ReduceAction18(2),
-                       new ReduceAction19(3),
-                       new ReduceAction20(3),
-                       new ReduceAction21(4),
-                       new ReduceAction22(4),
-                       new ReduceAction23(4),
-                       new ReduceAction24(5),
-                       new ReduceAction24(5),
-                       new ReduceAction26(6),
-                       new ReduceAction27(6),
-                       new ReduceAction28(6),
-                       new ReduceAction29(6),
-                       new ReduceAction30(6),
-                       new ReduceAction31(6),
-                       new ReduceAction32(6),
-                       new ReduceAction33(6),
-                       new ReduceAction34(6),
-                       new ReduceAction35(6),
-                       new ReduceAction36(6),
-                       new ReduceAction37(6),
-                       new ReduceAction38(6),
-                       new ReduceAction39(6),
-                       new ReduceAction40(6),
-                       new ReduceAction41(6),
-                       new ReduceAction22(7),
-                       new ReduceAction43(7),
-                       new ReduceAction44(8),
-                       new ReduceAction45(8),
-                       new ReduceAction46(8),
-                       new ReduceAction47(8),
-                       new ReduceAction48(8),
-                       new ReduceAction49(9),
-                       new ReduceAction50(9),
-                       new ReduceAction51(9),
-                       new ReduceAction52(10),
-                       new ReduceAction53(11),
-                       new ReduceAction54(11),
-                       new ReduceAction55(12),
-                       new ReduceAction56(13),
-                       new ReduceAction57(14),
-                       new ReduceAction58(14),
-                       new ReduceAction59(14),
-                       new ReduceAction60(14),
-                       new ReduceAction61(14),
-                       new ReduceAction62(14),
-                       new ReduceAction63(14),
-                       new ReduceAction64(14),
-                       new ReduceAction65(14),
-                       new ReduceAction66(14),
-                       new ReduceAction67(14),
-                       new ReduceAction68(14),
-                       new ReduceAction69(14),
-                       new ReduceAction70(14),
-                       new ReduceAction71(14),
-                       new ReduceAction72(14),
-                       new ReduceAction73(14),
-                       new ReduceAction74(14),
-                       new ReduceAction75(14),
-                       new ReduceAction76(14),
-                       new ReduceAction77(14),
-                       new ReduceAction78(14),
-                       new ReduceAction79(14),
-                       new ReduceAction80(14),
-                       new ReduceAction81(14),
-                       new ReduceAction82(14),
-                       new ReduceAction83(15),
-                       new ReduceAction84(15),
-                       new ReduceAction22(15),
-                       new ReduceAction83(16),
-                       new ReduceAction87(16),
-                       new ReduceAction88(17),
-                       new ReduceAction89(17),
-                       new ReduceAction90(17),
-                       new ReduceAction91(17),
-                       new ReduceAction92(17),
-                       new ReduceAction93(18),
-                       new ReduceAction94(18),
-                       new ReduceAction95(18),
-                       new ReduceAction96(18),
-                       new ReduceAction97(18),
-                       new ReduceAction98(18),
-                       new ReduceAction99(18),
-                       new ReduceAction100(18),
-                       new ReduceAction101(18),
-                       new ReduceAction102(18),
-                       new ReduceAction103(18),
-                       new ReduceAction104(18),
-                       new ReduceAction105(18),
-                       new ReduceAction106(18),
-                       new ReduceAction107(18),
-                       new ReduceAction108(18),
-                       new ReduceAction109(18),
-                       new ReduceAction110(18),
-                       new ReduceAction111(18),
-                       new ReduceAction112(19),
-                       new ReduceAction113(19),
-                       new ReduceAction114(19),
-                       new ReduceAction115(19),
-                       new ReduceAction116(20),
-                       new ReduceAction117(20),
-                       new ReduceAction51(20),
-                       new ReduceAction119(21),
-                       new ReduceAction120(22),
-                       new ReduceAction121(22),
-                       new ReduceAction122(22),
-                       new ReduceAction123(22),
-                       new ReduceAction124(22),
-                       new ReduceAction125(23),
-                       new ReduceAction126(23),
-                       new ReduceAction22(23),
-                       new ReduceAction128(24),
-                       new ReduceAction129(25),
-                       new ReduceAction129(25),
-                       new ReduceAction131(25),
-                       new ReduceAction132(26),
-                       new ReduceAction133(26),
-                       new ReduceAction134(26),
-                       new ReduceAction135(27),
-                       new ReduceAction136(27),
-                       new ReduceAction137(27),
-                       new ReduceAction138(27),
-                       new ReduceAction139(27),
-                       new ReduceAction140(27),
-                       new ReduceAction22(28),
-                       new ReduceAction142(28),
-                       new ReduceAction143(29),
-                       new ReduceAction144(30),
-                       new ReduceAction145(30),
-                       new ReduceAction146(31),
-                       new ReduceAction22(31),
-                       new ReduceAction148(32),
-                       new ReduceAction149(33),
-                       new ReduceAction150(33),
-                       new ReduceAction151(33),
-                       new ReduceAction152(33),
-                       new ReduceAction153(34),
-                       new ReduceAction154(34),
-                       new ReduceAction155(35),
-                       new ReduceAction155(36),
-                       new ReduceAction155(37),
-                       new ReduceAction22(37),
-                       new ReduceAction159(38),
-                       new ReduceAction160(38),
-                       new ReduceAction161(38),
-                       new ReduceAction162(38),
-                       new ReduceAction163(39),
-                       new ReduceAction164(39),
-                       new ReduceAction165(40),
-                       new ReduceAction166(40),
-                       new ReduceAction167(41),
-                       new ReduceAction168(41),
-                       new ReduceAction159(42),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction172(43),
-                       new ReduceAction173(43),
-                       new ReduceAction174(43),
-                       new ReduceAction175(43),
-                       new ReduceAction176(43),
-                       new ReduceAction177(43),
-                       new ReduceAction178(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction162(43),
-                       new ReduceAction185(43),
-                       new ReduceAction186(43),
-                       new ReduceAction187(43),
-                       new ReduceAction186(43),
-                       new ReduceAction189(43),
-                       new ReduceAction190(43),
-                       new ReduceAction191(43),
-                       new ReduceAction190(43),
-                       new ReduceAction193(43),
-                       new ReduceAction194(43),
-                       new ReduceAction195(43),
-                       new ReduceAction196(43),
-                       new ReduceAction197(43),
-                       new ReduceAction196(43),
-                       new ReduceAction199(43),
-                       new ReduceAction200(43),
-                       new ReduceAction199(43),
-                       new ReduceAction202(43),
-                       new ReduceAction203(44),
-                       new ReduceAction204(44),
-                       new ReduceAction205(45),
-                       new ReduceAction206(45),
-                       new ReduceAction207(45),
-                       new ReduceAction208(45),
-                       new ReduceAction209(46),
-                       new ReduceAction210(46),
-                       new ReduceAction211(46),
-                       new ReduceAction212(46),
-                       new ReduceAction213(46),
-                       new ReduceAction214(46),
-                       new ReduceAction215(46),
-                       new ReduceAction216(46),
-                       new ReduceAction213(46),
-                       new ReduceAction214(46),
-                       new ReduceAction219(46),
-                       new ReduceAction220(46),
-                       new ReduceAction221(46),
-                       new ReduceAction222(46),
-                       new ReduceAction223(46),
-                       new ReduceAction224(46),
-                       new ReduceAction221(46),
-                       new ReduceAction222(46),
-                       new ReduceAction227(46),
-                       new ReduceAction228(46),
-                       new ReduceAction229(46),
-                       new ReduceAction230(46),
-                       new ReduceAction231(46),
-                       new ReduceAction232(46),
-                       new ReduceAction233(46),
-                       new ReduceAction234(46),
-                       new ReduceAction235(46),
-                       new ReduceAction232(46),
-                       new ReduceAction233(46),
-                       new ReduceAction238(46),
-                       new ReduceAction239(46),
-                       new ReduceAction240(46),
-                       new ReduceAction241(46),
-                       new ReduceAction242(46),
-                       new ReduceAction243(46),
-                       new ReduceAction240(46),
-                       new ReduceAction241(46),
-                       new ReduceAction246(46),
-                       new ReduceAction247(47),
-                       new ReduceAction248(47),
-                       new ReduceAction249(48),
-                       new ReduceAction250(48),
-                       new ReduceAction251(49),
-                       new ReduceAction252(49),
-                       new ReduceAction253(49),
-                       new ReduceAction254(49),
-                       new ReduceAction255(49),
-                       new ReduceAction159(50),
-                       new ReduceAction161(50),
-                       new ReduceAction258(51),
-                       new ReduceAction259(51),
-                       new ReduceAction260(52),
-                       new ReduceAction261(52),
-                       new ReduceAction262(53),
-                       new ReduceAction263(53),
-                       new ReduceAction264(54),
-                       new ReduceAction265(54),
-                       new ReduceAction266(54),
-                       new ReduceAction267(54),
-                       new ReduceAction268(55),
-                       new ReduceAction162(56),
-                       new ReduceAction270(56),
-                       new ReduceAction162(57),
-                       new ReduceAction272(57),
-                       new ReduceAction273(57),
-                       new ReduceAction274(57),
-                       new ReduceAction275(57),
-                       new ReduceAction162(58),
-                       new ReduceAction277(58),
-                       new ReduceAction162(59),
-                       new ReduceAction279(59),
-                       new ReduceAction280(59),
-                       new ReduceAction281(59),
-                       new ReduceAction282(59),
-                       new ReduceAction283(59),
-                       new ReduceAction284(59),
-                       new ReduceAction285(59),
-                       new ReduceAction286(59),
-                       new ReduceAction287(59),
-                       new ReduceAction288(59),
-                       new ReduceAction162(60),
-                       new ReduceAction290(60),
-                       new ReduceAction291(60),
-                       new ReduceAction162(61),
-                       new ReduceAction293(61),
-                       new ReduceAction294(61),
-                       new ReduceAction295(61),
-                       new ReduceAction162(62),
-                       new ReduceAction297(62),
-                       new ReduceAction162(63),
-                       new ReduceAction299(63),
-                       new ReduceAction300(63),
-                       new ReduceAction162(64),
-                       new ReduceAction302(64),
-                       new ReduceAction303(64),
-                       new ReduceAction304(64),
-                       new ReduceAction305(64),
-                       new ReduceAction162(65),
-                       new ReduceAction307(65),
-                       new ReduceAction308(65),
-                       new ReduceAction185(65),
-                       new ReduceAction310(65),
-                       new ReduceAction186(65),
-                       new ReduceAction312(65),
-                       new ReduceAction187(65),
-                       new ReduceAction314(65),
-                       new ReduceAction186(65),
-                       new ReduceAction312(65),
-                       new ReduceAction189(65),
-                       new ReduceAction318(65),
-                       new ReduceAction190(65),
-                       new ReduceAction320(65),
-                       new ReduceAction191(65),
-                       new ReduceAction322(65),
-                       new ReduceAction190(65),
-                       new ReduceAction320(65),
-                       new ReduceAction193(65),
-                       new ReduceAction326(65),
-                       new ReduceAction194(65),
-                       new ReduceAction328(65),
-                       new ReduceAction195(65),
-                       new ReduceAction330(65),
-                       new ReduceAction331(65),
-                       new ReduceAction332(65),
-                       new ReduceAction333(65),
-                       new ReduceAction334(65),
-                       new ReduceAction335(65),
-                       new ReduceAction336(65),
-                       new ReduceAction337(65),
-                       new ReduceAction334(65),
-                       new ReduceAction335(65),
-                       new ReduceAction340(65),
-                       new ReduceAction341(65),
-                       new ReduceAction342(65),
-                       new ReduceAction343(65),
-                       new ReduceAction344(66),
-                       new ReduceAction345(66),
-                       new ReduceAction346(66),
-                       new ReduceAction347(66),
-                       new ReduceAction348(66),
-                       new ReduceAction349(66),
-                       new ReduceAction350(66),
-                       new ReduceAction351(66),
-                       new ReduceAction352(66),
-                       new ReduceAction162(66),
-                       new ReduceAction162(66),
-                       new ReduceAction355(66),
-                       new ReduceAction356(66),
-                       new ReduceAction357(66),
-                       new ReduceAction358(67),
-                       new ReduceAction358(67),
-                       new ReduceAction360(68),
-                       new ReduceAction361(69),
-                       new ReduceAction362(70),
-                       new ReduceAction363(70),
-                       new ReduceAction364(71),
-                       new ReduceAction365(71),
-                       new ReduceAction366(72),
-                       new ReduceAction364(73),
-                       new ReduceAction365(73),
-                       new ReduceAction369(74),
-                       new ReduceAction370(75),
-                       new ReduceAction371(76),
-                       new ReduceAction372(76),
-                       new ReduceAction373(77),
-                       new ReduceAction22(77),
-                       new ReduceAction375(78),
-                       new ReduceAction376(78),
-                       new ReduceAction377(79),
-                       new ReduceAction378(80),
-                       new ReduceAction379(80),
-                       new ReduceAction375(81),
-                       new ReduceAction376(81),
-                       new ReduceAction382(81),
-                       new ReduceAction162(82),
-                       new ReduceAction384(83),
-                       new ReduceAction377(84),
-                       new ReduceAction386(85),
-                       new ReduceAction387(85),
-                       new ReduceAction388(85),
-                       new ReduceAction389(85),
-                       new ReduceAction390(85),
-                       new ReduceAction391(86),
-                       new ReduceAction392(86),
-                       new ReduceAction393(86),
-                       new ReduceAction394(86),
-                       new ReduceAction395(86),
-                       new ReduceAction396(87),
-                       new ReduceAction397(87),
-                       new ReduceAction361(88),
-                       new ReduceAction399(89),
-                       new ReduceAction162(89),
-                       new ReduceAction162(89),
-                       new ReduceAction402(89),
-                       new ReduceAction403(89),
-                       new ReduceAction404(89),
-                       new ReduceAction405(90),
-                       new ReduceAction406(90),
-                       new ReduceAction407(90),
-                       new ReduceAction408(91),
-                       new ReduceAction409(91),
-                       new ReduceAction408(92),
-                       new ReduceAction411(92),
-                       new ReduceAction409(92),
-                       new ReduceAction413(92),
-                       new ReduceAction414(93),
-                       new ReduceAction415(94),
-                       new ReduceAction365(95),
-                       new ReduceAction417(95),
-                       new ReduceAction418(96),
-                       new ReduceAction419(97),
-                       new ReduceAction420(97),
-                       new ReduceAction421(98),
-                       new ReduceAction422(98),
-                       new ReduceAction423(99),
-                       new ReduceAction424(99),
-                       new ReduceAction425(99),
-                       new ReduceAction426(99),
-                       new ReduceAction427(100),
-                       new ReduceAction428(100),
-                       new ReduceAction429(100),
-                       new ReduceAction22(100),
-                       new ReduceAction431(101),
-                       new ReduceAction432(101),
-                       new ReduceAction433(101),
-                       new ReduceAction432(101),
-                       new ReduceAction435(102),
-                       new ReduceAction436(102),
-                       new ReduceAction437(102),
-                       new ReduceAction436(102),
-                       new ReduceAction439(103),
-                       new ReduceAction440(104),
-                       new ReduceAction22(105),
-                       new ReduceAction442(105),
-                       new ReduceAction443(106),
-                       new ReduceAction443(106),
-                       new ReduceAction445(107),
-                       new ReduceAction446(107),
-                       new ReduceAction23(107),
-                       new ReduceAction22(108),
-                       new ReduceAction449(108),
-                       new ReduceAction450(109),
-                       new ReduceAction451(109),
-                       new ReduceAction443(109),
-                       new ReduceAction56(110),
-                       new ReduceAction57(111),
-                       new ReduceAction58(111),
-                       new ReduceAction59(111),
-                       new ReduceAction66(111),
-                       new ReduceAction67(111),
-                       new ReduceAction83(112),
-                       new ReduceAction84(112),
-                       new ReduceAction93(113),
-                       new ReduceAction94(113),
-                       new ReduceAction95(113),
-                       new ReduceAction96(113),
-                       new ReduceAction97(113),
-                       new ReduceAction98(113),
-                       new ReduceAction99(113),
-                       new ReduceAction100(113),
-                       new ReduceAction101(113),
-                       new ReduceAction102(113),
-                       new ReduceAction103(113),
-                       new ReduceAction104(113),
-                       new ReduceAction105(113),
-                       new ReduceAction106(113),
-                       new ReduceAction107(113),
-                       new ReduceAction108(113),
-                       new ReduceAction109(113),
-                       new ReduceAction110(113),
-                       new ReduceAction435(114),
-                       new ReduceAction436(114),
-                       new ReduceAction437(114),
-                       new ReduceAction436(114),
-                       new ReduceAction149(115),
-                       new ReduceAction150(115),
-                       new ReduceAction162(116),
-                       new ReduceAction270(116),
-                       new ReduceAction162(117),
-                       new ReduceAction272(117),
-                       new ReduceAction273(117),
-                       new ReduceAction274(117),
-                       new ReduceAction275(117),
-                       new ReduceAction162(118),
-                       new ReduceAction277(118),
-                       new ReduceAction162(119),
-                       new ReduceAction279(119),
-                       new ReduceAction280(119),
-                       new ReduceAction281(119),
-                       new ReduceAction282(119),
-                       new ReduceAction283(119),
-                       new ReduceAction284(119),
-                       new ReduceAction285(119),
-                       new ReduceAction286(119),
-                       new ReduceAction287(119),
-                       new ReduceAction288(119),
-                       new ReduceAction162(120),
-                       new ReduceAction290(120),
-                       new ReduceAction291(120),
-                       new ReduceAction162(121),
-                       new ReduceAction293(121),
-                       new ReduceAction294(121),
-                       new ReduceAction295(121),
-                       new ReduceAction162(122),
-                       new ReduceAction297(122),
-                       new ReduceAction162(123),
-                       new ReduceAction299(123),
-                       new ReduceAction300(123),
-                       new ReduceAction162(124),
-                       new ReduceAction302(124),
-                       new ReduceAction303(124),
-                       new ReduceAction304(124),
-                       new ReduceAction305(124),
-                       new ReduceAction162(125),
-                       new ReduceAction307(125),
-                       new ReduceAction308(125),
-                       new ReduceAction185(125),
-                       new ReduceAction189(125),
-                       new ReduceAction310(125),
-                       new ReduceAction318(125),
-                       new ReduceAction186(125),
-                       new ReduceAction190(125),
-                       new ReduceAction312(125),
-                       new ReduceAction320(125),
-                       new ReduceAction187(125),
-                       new ReduceAction191(125),
-                       new ReduceAction314(125),
-                       new ReduceAction322(125),
-                       new ReduceAction186(125),
-                       new ReduceAction190(125),
-                       new ReduceAction312(125),
-                       new ReduceAction320(125),
-                       new ReduceAction193(125),
-                       new ReduceAction326(125),
-                       new ReduceAction194(125),
-                       new ReduceAction195(125),
-                       new ReduceAction328(125),
-                       new ReduceAction330(125),
-                       new ReduceAction332(125),
-                       new ReduceAction333(125),
-                       new ReduceAction334(125),
-                       new ReduceAction335(125),
-                       new ReduceAction336(125),
-                       new ReduceAction337(125),
-                       new ReduceAction334(125),
-                       new ReduceAction335(125),
-                       new ReduceAction340(125),
-                       new ReduceAction341(125),
-                       new ReduceAction342(125),
-                       new ReduceAction343(125),
-                       new ReduceAction344(126),
-                       new ReduceAction345(126),
-                       new ReduceAction346(126),
-                       new ReduceAction347(126),
-                       new ReduceAction348(126),
-                       new ReduceAction349(126),
-                       new ReduceAction350(126),
-                       new ReduceAction351(126),
-                       new ReduceAction352(126),
-                       new ReduceAction162(126),
-                       new ReduceAction162(126),
-                       new ReduceAction149(127),
-                       new ReduceAction150(127),
-                       new ReduceAction151(127),
-                       new ReduceAction152(127),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction172(128),
-                       new ReduceAction173(128),
-                       new ReduceAction174(128),
-                       new ReduceAction175(128),
-                       new ReduceAction176(128),
-                       new ReduceAction177(128),
-                       new ReduceAction178(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction162(128),
-                       new ReduceAction185(128),
-                       new ReduceAction186(128),
-                       new ReduceAction187(128),
-                       new ReduceAction186(128),
-                       new ReduceAction189(128),
-                       new ReduceAction190(128),
-                       new ReduceAction191(128),
-                       new ReduceAction190(128),
-                       new ReduceAction193(128),
-                       new ReduceAction194(128),
-                       new ReduceAction195(128),
-                       new ReduceAction196(128),
-                       new ReduceAction197(128),
-                       new ReduceAction196(128),
-                       new ReduceAction199(128),
-                       new ReduceAction200(128),
-                       new ReduceAction199(128),
-                       new ReduceAction202(128),
-                       new ReduceAction209(129),
-                       new ReduceAction210(129),
-                       new ReduceAction211(129),
-                       new ReduceAction212(129),
-                       new ReduceAction213(129),
-                       new ReduceAction214(129),
-                       new ReduceAction215(129),
-                       new ReduceAction216(129),
-                       new ReduceAction213(129),
-                       new ReduceAction214(129),
-                       new ReduceAction219(129),
-                       new ReduceAction220(129),
-                       new ReduceAction221(129),
-                       new ReduceAction222(129),
-                       new ReduceAction223(129),
-                       new ReduceAction224(129),
-                       new ReduceAction221(129),
-                       new ReduceAction222(129),
-                       new ReduceAction227(129),
-                       new ReduceAction228(129),
-                       new ReduceAction229(129),
-                       new ReduceAction230(129),
-                       new ReduceAction231(129),
-                       new ReduceAction232(129),
-                       new ReduceAction233(129),
-                       new ReduceAction234(129),
-                       new ReduceAction235(129),
-                       new ReduceAction232(129),
-                       new ReduceAction233(129),
-                       new ReduceAction238(129),
-                       new ReduceAction239(129),
-                       new ReduceAction240(129),
-                       new ReduceAction241(129),
-                       new ReduceAction242(129),
-                       new ReduceAction243(129),
-                       new ReduceAction240(129),
-                       new ReduceAction241(129),
-                       new ReduceAction246(129),
-                       new ReduceAction162(130),
-                       new ReduceAction270(130),
-                       new ReduceAction162(131),
-                       new ReduceAction272(131),
-                       new ReduceAction273(131),
-                       new ReduceAction274(131),
-                       new ReduceAction275(131),
-                       new ReduceAction162(132),
-                       new ReduceAction277(132),
-                       new ReduceAction162(133),
-                       new ReduceAction279(133),
-                       new ReduceAction280(133),
-                       new ReduceAction281(133),
-                       new ReduceAction282(133),
-                       new ReduceAction283(133),
-                       new ReduceAction284(133),
-                       new ReduceAction285(133),
-                       new ReduceAction286(133),
-                       new ReduceAction287(133),
-                       new ReduceAction288(133),
-                       new ReduceAction162(134),
-                       new ReduceAction290(134),
-                       new ReduceAction291(134),
-                       new ReduceAction162(135),
-                       new ReduceAction293(135),
-                       new ReduceAction294(135),
-                       new ReduceAction295(135),
-                       new ReduceAction162(136),
-                       new ReduceAction297(136),
-                       new ReduceAction162(137),
-                       new ReduceAction299(137),
-                       new ReduceAction300(137),
-                       new ReduceAction162(138),
-                       new ReduceAction302(138),
-                       new ReduceAction303(138),
-                       new ReduceAction304(138),
-                       new ReduceAction305(138),
-                       new ReduceAction162(139),
-                       new ReduceAction307(139),
-                       new ReduceAction308(139),
-                       new ReduceAction185(139),
-                       new ReduceAction310(139),
-                       new ReduceAction186(139),
-                       new ReduceAction312(139),
-                       new ReduceAction187(139),
-                       new ReduceAction314(139),
-                       new ReduceAction186(139),
-                       new ReduceAction312(139),
-                       new ReduceAction189(139),
-                       new ReduceAction318(139),
-                       new ReduceAction190(139),
-                       new ReduceAction320(139),
-                       new ReduceAction191(139),
-                       new ReduceAction322(139),
-                       new ReduceAction190(139),
-                       new ReduceAction320(139),
-                       new ReduceAction193(139),
-                       new ReduceAction326(139),
-                       new ReduceAction194(139),
-                       new ReduceAction328(139),
-                       new ReduceAction195(139),
-                       new ReduceAction330(139),
-                       new ReduceAction331(139),
-                       new ReduceAction332(139),
-                       new ReduceAction333(139),
-                       new ReduceAction334(139),
-                       new ReduceAction335(139),
-                       new ReduceAction336(139),
-                       new ReduceAction337(139),
-                       new ReduceAction334(139),
-                       new ReduceAction335(139),
-                       new ReduceAction340(139),
-                       new ReduceAction341(139),
-                       new ReduceAction342(139),
-                       new ReduceAction343(139),
-                       new ReduceAction344(140),
-                       new ReduceAction345(140),
-                       new ReduceAction346(140),
-                       new ReduceAction347(140),
-                       new ReduceAction348(140),
-                       new ReduceAction349(140),
-                       new ReduceAction350(140),
-                       new ReduceAction351(140),
-                       new ReduceAction352(140),
-                       new ReduceAction162(140),
-                       new ReduceAction371(141),
-                       new ReduceAction372(141),
-                       new ReduceAction373(142),
-                       new ReduceAction22(142),
-                       new ReduceAction375(143),
-                       new ReduceAction375(144),
-                       new ReduceAction396(145),
-                       new ReduceAction397(145),
-                       new ReduceAction399(146),
-                       new ReduceAction162(146),
-                       new ReduceAction162(146),
-                       new ReduceAction402(146),
-                       new ReduceAction403(146),
-                       new ReduceAction149(147),
-                       new ReduceAction150(147),
-                       new ReduceAction162(148),
-                       new ReduceAction270(148),
-                       new ReduceAction162(149),
-                       new ReduceAction272(149),
-                       new ReduceAction273(149),
-                       new ReduceAction274(149),
-                       new ReduceAction275(149),
-                       new ReduceAction162(150),
-                       new ReduceAction277(150),
-                       new ReduceAction162(151),
-                       new ReduceAction279(151),
-                       new ReduceAction280(151),
-                       new ReduceAction281(151),
-                       new ReduceAction282(151),
-                       new ReduceAction283(151),
-                       new ReduceAction284(151),
-                       new ReduceAction285(151),
-                       new ReduceAction286(151),
-                       new ReduceAction287(151),
-                       new ReduceAction288(151),
-                       new ReduceAction162(152),
-                       new ReduceAction290(152),
-                       new ReduceAction291(152),
-                       new ReduceAction162(153),
-                       new ReduceAction293(153),
-                       new ReduceAction294(153),
-                       new ReduceAction295(153),
-                       new ReduceAction162(154),
-                       new ReduceAction297(154),
-                       new ReduceAction162(155),
-                       new ReduceAction299(155),
-                       new ReduceAction300(155),
-                       new ReduceAction162(156),
-                       new ReduceAction302(156),
-                       new ReduceAction303(156),
-                       new ReduceAction780(156),
-                       new ReduceAction162(157),
-                       new ReduceAction782(157),
-                       new ReduceAction783(157),
-                       new ReduceAction784(157),
-                       new ReduceAction785(157),
-                       new ReduceAction786(157),
-                       new ReduceAction185(157),
-                       new ReduceAction310(157),
-                       new ReduceAction785(157),
-                       new ReduceAction786(157),
-                       new ReduceAction193(157),
-                       new ReduceAction326(157),
-                       new ReduceAction793(157),
-                       new ReduceAction794(157),
-                       new ReduceAction332(157),
-                       new ReduceAction333(157),
-                       new ReduceAction334(157),
-                       new ReduceAction335(157),
-                       new ReduceAction336(157),
-                       new ReduceAction337(157),
-                       new ReduceAction334(157),
-                       new ReduceAction335(157),
-                       new ReduceAction340(157),
-                       new ReduceAction341(157),
-                       new ReduceAction342(157),
-                       new ReduceAction343(157),
-                       new ReduceAction344(158),
-                       new ReduceAction345(158),
-                       new ReduceAction346(158),
-                       new ReduceAction347(158),
-                       new ReduceAction348(158),
-                       new ReduceAction349(158),
-                       new ReduceAction350(158),
-                       new ReduceAction351(158),
-                       new ReduceAction352(158),
-                       new ReduceAction162(158),
-                       new ReduceAction817(159),
-                       new ReduceAction818(159),
-                       new ReduceAction159(160),
-                       new ReduceAction160(160),
-                       new ReduceAction161(160),
-                       new ReduceAction162(160),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction172(161),
-                       new ReduceAction173(161),
-                       new ReduceAction174(161),
-                       new ReduceAction175(161),
-                       new ReduceAction176(161),
-                       new ReduceAction177(161),
-                       new ReduceAction178(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction162(161),
-                       new ReduceAction185(161),
-                       new ReduceAction186(161),
-                       new ReduceAction187(161),
-                       new ReduceAction186(161),
-                       new ReduceAction189(161),
-                       new ReduceAction190(161),
-                       new ReduceAction191(161),
-                       new ReduceAction190(161),
-                       new ReduceAction193(161),
-                       new ReduceAction194(161),
-                       new ReduceAction195(161),
-                       new ReduceAction196(161),
-                       new ReduceAction197(161),
-                       new ReduceAction196(161),
-                       new ReduceAction199(161),
-                       new ReduceAction200(161),
-                       new ReduceAction199(161),
-                       new ReduceAction202(161),
-                       new ReduceAction249(162),
-                       new ReduceAction250(162),
-                       new ReduceAction251(163),
-                       new ReduceAction258(164),
-                       new ReduceAction259(164),
-                       new ReduceAction260(165),
-                       new ReduceAction261(165),
-                       new ReduceAction262(166),
-                       new ReduceAction263(166),
-                       new ReduceAction264(167),
-                       new ReduceAction265(167),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction172(168),
-                       new ReduceAction173(168),
-                       new ReduceAction174(168),
-                       new ReduceAction175(168),
-                       new ReduceAction176(168),
-                       new ReduceAction177(168),
-                       new ReduceAction178(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction162(168),
-                       new ReduceAction185(168),
-                       new ReduceAction186(168),
-                       new ReduceAction187(168),
-                       new ReduceAction186(168),
-                       new ReduceAction189(168),
-                       new ReduceAction190(168),
-                       new ReduceAction191(168),
-                       new ReduceAction190(168),
-                       new ReduceAction193(168),
-                       new ReduceAction194(168),
-                       new ReduceAction195(168),
-                       new ReduceAction196(168),
-                       new ReduceAction197(168),
-                       new ReduceAction196(168),
-                       new ReduceAction199(168),
-                       new ReduceAction200(168),
-                       new ReduceAction199(168),
-                       new ReduceAction202(168),
-                       new ReduceAction159(169),
-                       new ReduceAction160(169),
-                       new ReduceAction161(169),
-                       new ReduceAction159(170),
-                       new ReduceAction160(170),
-                       new ReduceAction161(170),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction172(171),
-                       new ReduceAction173(171),
-                       new ReduceAction174(171),
-                       new ReduceAction175(171),
-                       new ReduceAction176(171),
-                       new ReduceAction177(171),
-                       new ReduceAction178(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction162(171),
-                       new ReduceAction202(171),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction172(172),
-                       new ReduceAction173(172),
-                       new ReduceAction174(172),
-                       new ReduceAction175(172),
-                       new ReduceAction176(172),
-                       new ReduceAction177(172),
-                       new ReduceAction178(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction162(172),
-                       new ReduceAction202(172),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction172(173),
-                       new ReduceAction173(173),
-                       new ReduceAction174(173),
-                       new ReduceAction175(173),
-                       new ReduceAction176(173),
-                       new ReduceAction177(173),
-                       new ReduceAction178(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction162(173),
-                       new ReduceAction202(173),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction172(174),
-                       new ReduceAction173(174),
-                       new ReduceAction174(174),
-                       new ReduceAction175(174),
-                       new ReduceAction176(174),
-                       new ReduceAction177(174),
-                       new ReduceAction178(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction162(174),
-                       new ReduceAction202(174),
-                       new ReduceAction405(175),
-                       new ReduceAction407(175),
-                       new ReduceAction968(176),
-                       new ReduceAction969(176),
-                       new ReduceAction970(177),
-                       new ReduceAction971(177),
-                       new ReduceAction972(178),
-                       new ReduceAction973(178),
-                       new ReduceAction974(179),
-                       new ReduceAction975(179),
-                       new ReduceAction976(180),
-                       new ReduceAction977(180),
-                       new ReduceAction978(181),
-                       new ReduceAction979(181),
-                       new ReduceAction980(182),
-                       new ReduceAction981(182),
-                       new ReduceAction982(183),
-                       new ReduceAction983(183),
-                       new ReduceAction153(184),
-                       new ReduceAction985(184),
-                       new ReduceAction396(185),
-                       new ReduceAction987(185),
-                       new ReduceAction396(186),
-                       new ReduceAction987(186),
-                       new ReduceAction420(187),
-                       new ReduceAction991(187),
-                       new ReduceAction378(188),
-                       new ReduceAction993(188),
-                       new ReduceAction378(189),
-                       new ReduceAction993(189),
-                       new ReduceAction378(190),
-                       new ReduceAction993(190),
-                       new ReduceAction396(191),
-                       new ReduceAction987(191),
-                       new ReduceAction396(192),
-                       new ReduceAction987(192),
-                       new ReduceAction421(193),
-                       new ReduceAction1003(193),
-                       new ReduceAction1004(194),
-                       new ReduceAction1005(194),
-                       new ReduceAction1006(195),
-                       new ReduceAction1007(195)
-               )
+               var reduce_table = new Array[ReduceAction].with_capacity(1116)
+               self.reduce_table = reduce_table
+               reduce_table.add new ReduceAction0(0)
+               reduce_table.add new ReduceAction1(0)
+               reduce_table.add new ReduceAction2(0)
+               reduce_table.add new ReduceAction3(0)
+               reduce_table.add new ReduceAction4(0)
+               reduce_table.add new ReduceAction5(0)
+               reduce_table.add new ReduceAction6(0)
+               reduce_table.add new ReduceAction7(0)
+               reduce_table.add new ReduceAction8(0)
+               reduce_table.add new ReduceAction9(0)
+               reduce_table.add new ReduceAction10(0)
+               reduce_table.add new ReduceAction11(0)
+               reduce_table.add new ReduceAction12(0)
+               reduce_table.add new ReduceAction13(0)
+               reduce_table.add new ReduceAction14(0)
+               reduce_table.add new ReduceAction15(0)
+               reduce_table.add new ReduceAction16(1)
+               reduce_table.add new ReduceAction17(2)
+               reduce_table.add new ReduceAction18(2)
+               reduce_table.add new ReduceAction19(3)
+               reduce_table.add new ReduceAction20(3)
+               reduce_table.add new ReduceAction21(4)
+               reduce_table.add new ReduceAction22(4)
+               reduce_table.add new ReduceAction23(4)
+               reduce_table.add new ReduceAction24(5)
+               reduce_table.add new ReduceAction24(5)
+               reduce_table.add new ReduceAction26(6)
+               reduce_table.add new ReduceAction27(6)
+               reduce_table.add new ReduceAction28(6)
+               reduce_table.add new ReduceAction29(6)
+               reduce_table.add new ReduceAction22(7)
+               reduce_table.add new ReduceAction31(7)
+               reduce_table.add new ReduceAction32(8)
+               reduce_table.add new ReduceAction33(8)
+               reduce_table.add new ReduceAction34(8)
+               reduce_table.add new ReduceAction35(8)
+               reduce_table.add new ReduceAction36(8)
+               reduce_table.add new ReduceAction37(9)
+               reduce_table.add new ReduceAction38(9)
+               reduce_table.add new ReduceAction39(9)
+               reduce_table.add new ReduceAction40(10)
+               reduce_table.add new ReduceAction41(11)
+               reduce_table.add new ReduceAction42(11)
+               reduce_table.add new ReduceAction43(12)
+               reduce_table.add new ReduceAction44(13)
+               reduce_table.add new ReduceAction45(13)
+               reduce_table.add new ReduceAction46(13)
+               reduce_table.add new ReduceAction47(14)
+               reduce_table.add new ReduceAction48(15)
+               reduce_table.add new ReduceAction49(15)
+               reduce_table.add new ReduceAction50(15)
+               reduce_table.add new ReduceAction51(15)
+               reduce_table.add new ReduceAction52(15)
+               reduce_table.add new ReduceAction53(15)
+               reduce_table.add new ReduceAction54(15)
+               reduce_table.add new ReduceAction55(15)
+               reduce_table.add new ReduceAction56(15)
+               reduce_table.add new ReduceAction57(15)
+               reduce_table.add new ReduceAction58(15)
+               reduce_table.add new ReduceAction59(15)
+               reduce_table.add new ReduceAction60(15)
+               reduce_table.add new ReduceAction61(15)
+               reduce_table.add new ReduceAction62(15)
+               reduce_table.add new ReduceAction63(15)
+               reduce_table.add new ReduceAction64(15)
+               reduce_table.add new ReduceAction65(15)
+               reduce_table.add new ReduceAction66(15)
+               reduce_table.add new ReduceAction67(15)
+               reduce_table.add new ReduceAction68(15)
+               reduce_table.add new ReduceAction69(15)
+               reduce_table.add new ReduceAction70(15)
+               reduce_table.add new ReduceAction71(15)
+               reduce_table.add new ReduceAction72(15)
+               reduce_table.add new ReduceAction73(15)
+               reduce_table.add new ReduceAction74(15)
+               reduce_table.add new ReduceAction74(15)
+               reduce_table.add new ReduceAction76(16)
+               reduce_table.add new ReduceAction77(16)
+               reduce_table.add new ReduceAction22(16)
+               reduce_table.add new ReduceAction76(17)
+               reduce_table.add new ReduceAction80(17)
+               reduce_table.add new ReduceAction81(18)
+               reduce_table.add new ReduceAction82(18)
+               reduce_table.add new ReduceAction83(18)
+               reduce_table.add new ReduceAction84(18)
+               reduce_table.add new ReduceAction85(18)
+               reduce_table.add new ReduceAction86(19)
+               reduce_table.add new ReduceAction87(19)
+               reduce_table.add new ReduceAction88(19)
+               reduce_table.add new ReduceAction89(19)
+               reduce_table.add new ReduceAction90(19)
+               reduce_table.add new ReduceAction91(19)
+               reduce_table.add new ReduceAction92(19)
+               reduce_table.add new ReduceAction93(19)
+               reduce_table.add new ReduceAction94(19)
+               reduce_table.add new ReduceAction95(19)
+               reduce_table.add new ReduceAction96(19)
+               reduce_table.add new ReduceAction97(19)
+               reduce_table.add new ReduceAction98(19)
+               reduce_table.add new ReduceAction99(19)
+               reduce_table.add new ReduceAction100(19)
+               reduce_table.add new ReduceAction101(19)
+               reduce_table.add new ReduceAction102(19)
+               reduce_table.add new ReduceAction103(19)
+               reduce_table.add new ReduceAction104(19)
+               reduce_table.add new ReduceAction105(19)
+               reduce_table.add new ReduceAction106(19)
+               reduce_table.add new ReduceAction107(19)
+               reduce_table.add new ReduceAction108(19)
+               reduce_table.add new ReduceAction109(20)
+               reduce_table.add new ReduceAction110(20)
+               reduce_table.add new ReduceAction111(20)
+               reduce_table.add new ReduceAction112(20)
+               reduce_table.add new ReduceAction113(21)
+               reduce_table.add new ReduceAction114(21)
+               reduce_table.add new ReduceAction39(21)
+               reduce_table.add new ReduceAction116(22)
+               reduce_table.add new ReduceAction117(23)
+               reduce_table.add new ReduceAction118(23)
+               reduce_table.add new ReduceAction119(23)
+               reduce_table.add new ReduceAction120(23)
+               reduce_table.add new ReduceAction121(23)
+               reduce_table.add new ReduceAction122(24)
+               reduce_table.add new ReduceAction123(24)
+               reduce_table.add new ReduceAction22(24)
+               reduce_table.add new ReduceAction125(25)
+               reduce_table.add new ReduceAction126(26)
+               reduce_table.add new ReduceAction126(26)
+               reduce_table.add new ReduceAction128(26)
+               reduce_table.add new ReduceAction129(27)
+               reduce_table.add new ReduceAction130(27)
+               reduce_table.add new ReduceAction131(27)
+               reduce_table.add new ReduceAction132(28)
+               reduce_table.add new ReduceAction133(28)
+               reduce_table.add new ReduceAction134(28)
+               reduce_table.add new ReduceAction135(28)
+               reduce_table.add new ReduceAction136(28)
+               reduce_table.add new ReduceAction137(28)
+               reduce_table.add new ReduceAction22(29)
+               reduce_table.add new ReduceAction139(29)
+               reduce_table.add new ReduceAction140(30)
+               reduce_table.add new ReduceAction141(31)
+               reduce_table.add new ReduceAction142(31)
+               reduce_table.add new ReduceAction143(32)
+               reduce_table.add new ReduceAction22(32)
+               reduce_table.add new ReduceAction145(33)
+               reduce_table.add new ReduceAction146(34)
+               reduce_table.add new ReduceAction147(34)
+               reduce_table.add new ReduceAction148(34)
+               reduce_table.add new ReduceAction149(34)
+               reduce_table.add new ReduceAction150(35)
+               reduce_table.add new ReduceAction151(35)
+               reduce_table.add new ReduceAction152(36)
+               reduce_table.add new ReduceAction152(37)
+               reduce_table.add new ReduceAction152(38)
+               reduce_table.add new ReduceAction22(38)
+               reduce_table.add new ReduceAction156(39)
+               reduce_table.add new ReduceAction157(39)
+               reduce_table.add new ReduceAction158(39)
+               reduce_table.add new ReduceAction159(39)
+               reduce_table.add new ReduceAction160(40)
+               reduce_table.add new ReduceAction161(40)
+               reduce_table.add new ReduceAction162(41)
+               reduce_table.add new ReduceAction163(41)
+               reduce_table.add new ReduceAction164(42)
+               reduce_table.add new ReduceAction165(42)
+               reduce_table.add new ReduceAction156(43)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction169(44)
+               reduce_table.add new ReduceAction170(44)
+               reduce_table.add new ReduceAction171(44)
+               reduce_table.add new ReduceAction172(44)
+               reduce_table.add new ReduceAction173(44)
+               reduce_table.add new ReduceAction174(44)
+               reduce_table.add new ReduceAction175(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction159(44)
+               reduce_table.add new ReduceAction183(44)
+               reduce_table.add new ReduceAction184(44)
+               reduce_table.add new ReduceAction185(44)
+               reduce_table.add new ReduceAction184(44)
+               reduce_table.add new ReduceAction187(44)
+               reduce_table.add new ReduceAction188(44)
+               reduce_table.add new ReduceAction189(44)
+               reduce_table.add new ReduceAction188(44)
+               reduce_table.add new ReduceAction191(44)
+               reduce_table.add new ReduceAction192(44)
+               reduce_table.add new ReduceAction193(44)
+               reduce_table.add new ReduceAction194(44)
+               reduce_table.add new ReduceAction195(44)
+               reduce_table.add new ReduceAction194(44)
+               reduce_table.add new ReduceAction197(44)
+               reduce_table.add new ReduceAction198(44)
+               reduce_table.add new ReduceAction197(44)
+               reduce_table.add new ReduceAction200(44)
+               reduce_table.add new ReduceAction201(45)
+               reduce_table.add new ReduceAction202(45)
+               reduce_table.add new ReduceAction203(46)
+               reduce_table.add new ReduceAction204(46)
+               reduce_table.add new ReduceAction205(46)
+               reduce_table.add new ReduceAction206(46)
+               reduce_table.add new ReduceAction207(47)
+               reduce_table.add new ReduceAction208(47)
+               reduce_table.add new ReduceAction209(47)
+               reduce_table.add new ReduceAction210(47)
+               reduce_table.add new ReduceAction211(47)
+               reduce_table.add new ReduceAction212(47)
+               reduce_table.add new ReduceAction213(47)
+               reduce_table.add new ReduceAction214(47)
+               reduce_table.add new ReduceAction211(47)
+               reduce_table.add new ReduceAction212(47)
+               reduce_table.add new ReduceAction217(47)
+               reduce_table.add new ReduceAction218(47)
+               reduce_table.add new ReduceAction219(47)
+               reduce_table.add new ReduceAction220(47)
+               reduce_table.add new ReduceAction221(47)
+               reduce_table.add new ReduceAction222(47)
+               reduce_table.add new ReduceAction219(47)
+               reduce_table.add new ReduceAction220(47)
+               reduce_table.add new ReduceAction225(47)
+               reduce_table.add new ReduceAction226(47)
+               reduce_table.add new ReduceAction227(47)
+               reduce_table.add new ReduceAction228(47)
+               reduce_table.add new ReduceAction229(47)
+               reduce_table.add new ReduceAction230(47)
+               reduce_table.add new ReduceAction231(47)
+               reduce_table.add new ReduceAction232(47)
+               reduce_table.add new ReduceAction233(47)
+               reduce_table.add new ReduceAction230(47)
+               reduce_table.add new ReduceAction231(47)
+               reduce_table.add new ReduceAction236(47)
+               reduce_table.add new ReduceAction237(47)
+               reduce_table.add new ReduceAction238(47)
+               reduce_table.add new ReduceAction239(47)
+               reduce_table.add new ReduceAction240(47)
+               reduce_table.add new ReduceAction241(47)
+               reduce_table.add new ReduceAction238(47)
+               reduce_table.add new ReduceAction239(47)
+               reduce_table.add new ReduceAction244(47)
+               reduce_table.add new ReduceAction245(48)
+               reduce_table.add new ReduceAction246(48)
+               reduce_table.add new ReduceAction247(48)
+               reduce_table.add new ReduceAction248(48)
+               reduce_table.add new ReduceAction249(48)
+               reduce_table.add new ReduceAction250(48)
+               reduce_table.add new ReduceAction251(48)
+               reduce_table.add new ReduceAction252(48)
+               reduce_table.add new ReduceAction253(48)
+               reduce_table.add new ReduceAction254(48)
+               reduce_table.add new ReduceAction255(48)
+               reduce_table.add new ReduceAction256(49)
+               reduce_table.add new ReduceAction257(49)
+               reduce_table.add new ReduceAction258(50)
+               reduce_table.add new ReduceAction259(50)
+               reduce_table.add new ReduceAction260(50)
+               reduce_table.add new ReduceAction261(50)
+               reduce_table.add new ReduceAction262(50)
+               reduce_table.add new ReduceAction263(50)
+               reduce_table.add new ReduceAction264(50)
+               reduce_table.add new ReduceAction265(50)
+               reduce_table.add new ReduceAction158(51)
+               reduce_table.add new ReduceAction267(52)
+               reduce_table.add new ReduceAction268(52)
+               reduce_table.add new ReduceAction269(53)
+               reduce_table.add new ReduceAction270(53)
+               reduce_table.add new ReduceAction271(54)
+               reduce_table.add new ReduceAction272(54)
+               reduce_table.add new ReduceAction273(55)
+               reduce_table.add new ReduceAction274(55)
+               reduce_table.add new ReduceAction275(56)
+               reduce_table.add new ReduceAction276(56)
+               reduce_table.add new ReduceAction159(56)
+               reduce_table.add new ReduceAction278(57)
+               reduce_table.add new ReduceAction279(57)
+               reduce_table.add new ReduceAction280(57)
+               reduce_table.add new ReduceAction281(57)
+               reduce_table.add new ReduceAction282(58)
+               reduce_table.add new ReduceAction159(59)
+               reduce_table.add new ReduceAction284(59)
+               reduce_table.add new ReduceAction159(60)
+               reduce_table.add new ReduceAction286(60)
+               reduce_table.add new ReduceAction287(60)
+               reduce_table.add new ReduceAction288(60)
+               reduce_table.add new ReduceAction289(60)
+               reduce_table.add new ReduceAction159(61)
+               reduce_table.add new ReduceAction291(61)
+               reduce_table.add new ReduceAction159(62)
+               reduce_table.add new ReduceAction293(62)
+               reduce_table.add new ReduceAction294(62)
+               reduce_table.add new ReduceAction295(62)
+               reduce_table.add new ReduceAction296(62)
+               reduce_table.add new ReduceAction297(62)
+               reduce_table.add new ReduceAction298(62)
+               reduce_table.add new ReduceAction299(62)
+               reduce_table.add new ReduceAction300(62)
+               reduce_table.add new ReduceAction159(63)
+               reduce_table.add new ReduceAction302(63)
+               reduce_table.add new ReduceAction159(64)
+               reduce_table.add new ReduceAction304(64)
+               reduce_table.add new ReduceAction159(65)
+               reduce_table.add new ReduceAction306(65)
+               reduce_table.add new ReduceAction159(66)
+               reduce_table.add new ReduceAction308(66)
+               reduce_table.add new ReduceAction309(66)
+               reduce_table.add new ReduceAction159(67)
+               reduce_table.add new ReduceAction311(67)
+               reduce_table.add new ReduceAction312(67)
+               reduce_table.add new ReduceAction159(68)
+               reduce_table.add new ReduceAction314(68)
+               reduce_table.add new ReduceAction315(68)
+               reduce_table.add new ReduceAction316(68)
+               reduce_table.add new ReduceAction159(69)
+               reduce_table.add new ReduceAction318(69)
+               reduce_table.add new ReduceAction159(70)
+               reduce_table.add new ReduceAction320(70)
+               reduce_table.add new ReduceAction321(70)
+               reduce_table.add new ReduceAction322(70)
+               reduce_table.add new ReduceAction323(70)
+               reduce_table.add new ReduceAction159(71)
+               reduce_table.add new ReduceAction325(71)
+               reduce_table.add new ReduceAction326(71)
+               reduce_table.add new ReduceAction327(71)
+               reduce_table.add new ReduceAction328(71)
+               reduce_table.add new ReduceAction159(72)
+               reduce_table.add new ReduceAction330(72)
+               reduce_table.add new ReduceAction331(72)
+               reduce_table.add new ReduceAction183(72)
+               reduce_table.add new ReduceAction333(72)
+               reduce_table.add new ReduceAction184(72)
+               reduce_table.add new ReduceAction335(72)
+               reduce_table.add new ReduceAction185(72)
+               reduce_table.add new ReduceAction337(72)
+               reduce_table.add new ReduceAction184(72)
+               reduce_table.add new ReduceAction335(72)
+               reduce_table.add new ReduceAction187(72)
+               reduce_table.add new ReduceAction341(72)
+               reduce_table.add new ReduceAction188(72)
+               reduce_table.add new ReduceAction343(72)
+               reduce_table.add new ReduceAction189(72)
+               reduce_table.add new ReduceAction345(72)
+               reduce_table.add new ReduceAction188(72)
+               reduce_table.add new ReduceAction343(72)
+               reduce_table.add new ReduceAction191(72)
+               reduce_table.add new ReduceAction349(72)
+               reduce_table.add new ReduceAction192(72)
+               reduce_table.add new ReduceAction351(72)
+               reduce_table.add new ReduceAction193(72)
+               reduce_table.add new ReduceAction353(72)
+               reduce_table.add new ReduceAction354(72)
+               reduce_table.add new ReduceAction355(72)
+               reduce_table.add new ReduceAction356(72)
+               reduce_table.add new ReduceAction357(72)
+               reduce_table.add new ReduceAction358(72)
+               reduce_table.add new ReduceAction359(72)
+               reduce_table.add new ReduceAction360(72)
+               reduce_table.add new ReduceAction357(72)
+               reduce_table.add new ReduceAction358(72)
+               reduce_table.add new ReduceAction363(72)
+               reduce_table.add new ReduceAction364(72)
+               reduce_table.add new ReduceAction365(72)
+               reduce_table.add new ReduceAction159(73)
+               reduce_table.add new ReduceAction367(73)
+               reduce_table.add new ReduceAction368(73)
+               reduce_table.add new ReduceAction369(74)
+               reduce_table.add new ReduceAction370(74)
+               reduce_table.add new ReduceAction371(74)
+               reduce_table.add new ReduceAction372(74)
+               reduce_table.add new ReduceAction373(74)
+               reduce_table.add new ReduceAction374(74)
+               reduce_table.add new ReduceAction375(74)
+               reduce_table.add new ReduceAction376(74)
+               reduce_table.add new ReduceAction377(74)
+               reduce_table.add new ReduceAction378(74)
+               reduce_table.add new ReduceAction379(74)
+               reduce_table.add new ReduceAction380(74)
+               reduce_table.add new ReduceAction381(74)
+               reduce_table.add new ReduceAction382(74)
+               reduce_table.add new ReduceAction383(74)
+               reduce_table.add new ReduceAction159(74)
+               reduce_table.add new ReduceAction159(74)
+               reduce_table.add new ReduceAction386(74)
+               reduce_table.add new ReduceAction387(74)
+               reduce_table.add new ReduceAction388(74)
+               reduce_table.add new ReduceAction389(75)
+               reduce_table.add new ReduceAction389(75)
+               reduce_table.add new ReduceAction391(76)
+               reduce_table.add new ReduceAction392(77)
+               reduce_table.add new ReduceAction393(78)
+               reduce_table.add new ReduceAction394(78)
+               reduce_table.add new ReduceAction392(79)
+               reduce_table.add new ReduceAction396(80)
+               reduce_table.add new ReduceAction272(80)
+               reduce_table.add new ReduceAction398(80)
+               reduce_table.add new ReduceAction399(81)
+               reduce_table.add new ReduceAction400(81)
+               reduce_table.add new ReduceAction401(82)
+               reduce_table.add new ReduceAction402(82)
+               reduce_table.add new ReduceAction403(83)
+               reduce_table.add new ReduceAction401(84)
+               reduce_table.add new ReduceAction402(84)
+               reduce_table.add new ReduceAction406(85)
+               reduce_table.add new ReduceAction407(86)
+               reduce_table.add new ReduceAction408(87)
+               reduce_table.add new ReduceAction409(87)
+               reduce_table.add new ReduceAction410(88)
+               reduce_table.add new ReduceAction22(88)
+               reduce_table.add new ReduceAction412(89)
+               reduce_table.add new ReduceAction413(89)
+               reduce_table.add new ReduceAction414(90)
+               reduce_table.add new ReduceAction415(90)
+               reduce_table.add new ReduceAction412(91)
+               reduce_table.add new ReduceAction413(91)
+               reduce_table.add new ReduceAction418(91)
+               reduce_table.add new ReduceAction159(92)
+               reduce_table.add new ReduceAction420(93)
+               reduce_table.add new ReduceAction421(94)
+               reduce_table.add new ReduceAction422(94)
+               reduce_table.add new ReduceAction423(94)
+               reduce_table.add new ReduceAction424(94)
+               reduce_table.add new ReduceAction425(94)
+               reduce_table.add new ReduceAction426(95)
+               reduce_table.add new ReduceAction427(95)
+               reduce_table.add new ReduceAction428(95)
+               reduce_table.add new ReduceAction429(95)
+               reduce_table.add new ReduceAction430(95)
+               reduce_table.add new ReduceAction393(96)
+               reduce_table.add new ReduceAction394(96)
+               reduce_table.add new ReduceAction392(97)
+               reduce_table.add new ReduceAction434(98)
+               reduce_table.add new ReduceAction159(98)
+               reduce_table.add new ReduceAction159(98)
+               reduce_table.add new ReduceAction437(98)
+               reduce_table.add new ReduceAction438(98)
+               reduce_table.add new ReduceAction439(98)
+               reduce_table.add new ReduceAction440(99)
+               reduce_table.add new ReduceAction441(99)
+               reduce_table.add new ReduceAction442(99)
+               reduce_table.add new ReduceAction443(100)
+               reduce_table.add new ReduceAction444(100)
+               reduce_table.add new ReduceAction443(101)
+               reduce_table.add new ReduceAction446(101)
+               reduce_table.add new ReduceAction444(101)
+               reduce_table.add new ReduceAction448(101)
+               reduce_table.add new ReduceAction449(102)
+               reduce_table.add new ReduceAction402(103)
+               reduce_table.add new ReduceAction451(103)
+               reduce_table.add new ReduceAction452(104)
+               reduce_table.add new ReduceAction453(105)
+               reduce_table.add new ReduceAction454(105)
+               reduce_table.add new ReduceAction455(106)
+               reduce_table.add new ReduceAction456(106)
+               reduce_table.add new ReduceAction457(107)
+               reduce_table.add new ReduceAction458(107)
+               reduce_table.add new ReduceAction459(107)
+               reduce_table.add new ReduceAction460(107)
+               reduce_table.add new ReduceAction461(108)
+               reduce_table.add new ReduceAction462(108)
+               reduce_table.add new ReduceAction463(108)
+               reduce_table.add new ReduceAction22(108)
+               reduce_table.add new ReduceAction465(109)
+               reduce_table.add new ReduceAction466(109)
+               reduce_table.add new ReduceAction467(109)
+               reduce_table.add new ReduceAction466(109)
+               reduce_table.add new ReduceAction469(110)
+               reduce_table.add new ReduceAction470(110)
+               reduce_table.add new ReduceAction471(110)
+               reduce_table.add new ReduceAction470(110)
+               reduce_table.add new ReduceAction473(111)
+               reduce_table.add new ReduceAction474(112)
+               reduce_table.add new ReduceAction22(113)
+               reduce_table.add new ReduceAction476(113)
+               reduce_table.add new ReduceAction477(114)
+               reduce_table.add new ReduceAction477(114)
+               reduce_table.add new ReduceAction477(114)
+               reduce_table.add new ReduceAction480(115)
+               reduce_table.add new ReduceAction481(115)
+               reduce_table.add new ReduceAction23(115)
+               reduce_table.add new ReduceAction23(115)
+               reduce_table.add new ReduceAction484(115)
+               reduce_table.add new ReduceAction484(115)
+               reduce_table.add new ReduceAction486(115)
+               reduce_table.add new ReduceAction487(115)
+               reduce_table.add new ReduceAction488(115)
+               reduce_table.add new ReduceAction488(115)
+               reduce_table.add new ReduceAction490(115)
+               reduce_table.add new ReduceAction22(116)
+               reduce_table.add new ReduceAction492(116)
+               reduce_table.add new ReduceAction493(117)
+               reduce_table.add new ReduceAction477(117)
+               reduce_table.add new ReduceAction477(118)
+               reduce_table.add new ReduceAction496(118)
+               reduce_table.add new ReduceAction48(119)
+               reduce_table.add new ReduceAction49(119)
+               reduce_table.add new ReduceAction50(119)
+               reduce_table.add new ReduceAction57(119)
+               reduce_table.add new ReduceAction58(119)
+               reduce_table.add new ReduceAction76(120)
+               reduce_table.add new ReduceAction77(120)
+               reduce_table.add new ReduceAction86(121)
+               reduce_table.add new ReduceAction87(121)
+               reduce_table.add new ReduceAction88(121)
+               reduce_table.add new ReduceAction89(121)
+               reduce_table.add new ReduceAction90(121)
+               reduce_table.add new ReduceAction91(121)
+               reduce_table.add new ReduceAction92(121)
+               reduce_table.add new ReduceAction93(121)
+               reduce_table.add new ReduceAction94(121)
+               reduce_table.add new ReduceAction95(121)
+               reduce_table.add new ReduceAction96(121)
+               reduce_table.add new ReduceAction97(121)
+               reduce_table.add new ReduceAction98(121)
+               reduce_table.add new ReduceAction99(121)
+               reduce_table.add new ReduceAction100(121)
+               reduce_table.add new ReduceAction101(121)
+               reduce_table.add new ReduceAction102(121)
+               reduce_table.add new ReduceAction103(121)
+               reduce_table.add new ReduceAction104(121)
+               reduce_table.add new ReduceAction105(121)
+               reduce_table.add new ReduceAction106(121)
+               reduce_table.add new ReduceAction107(121)
+               reduce_table.add new ReduceAction469(122)
+               reduce_table.add new ReduceAction470(122)
+               reduce_table.add new ReduceAction471(122)
+               reduce_table.add new ReduceAction470(122)
+               reduce_table.add new ReduceAction146(123)
+               reduce_table.add new ReduceAction147(123)
+               reduce_table.add new ReduceAction159(124)
+               reduce_table.add new ReduceAction284(124)
+               reduce_table.add new ReduceAction159(125)
+               reduce_table.add new ReduceAction286(125)
+               reduce_table.add new ReduceAction287(125)
+               reduce_table.add new ReduceAction288(125)
+               reduce_table.add new ReduceAction289(125)
+               reduce_table.add new ReduceAction159(126)
+               reduce_table.add new ReduceAction291(126)
+               reduce_table.add new ReduceAction159(127)
+               reduce_table.add new ReduceAction293(127)
+               reduce_table.add new ReduceAction294(127)
+               reduce_table.add new ReduceAction295(127)
+               reduce_table.add new ReduceAction296(127)
+               reduce_table.add new ReduceAction297(127)
+               reduce_table.add new ReduceAction298(127)
+               reduce_table.add new ReduceAction299(127)
+               reduce_table.add new ReduceAction300(127)
+               reduce_table.add new ReduceAction159(128)
+               reduce_table.add new ReduceAction302(128)
+               reduce_table.add new ReduceAction159(129)
+               reduce_table.add new ReduceAction304(129)
+               reduce_table.add new ReduceAction159(130)
+               reduce_table.add new ReduceAction306(130)
+               reduce_table.add new ReduceAction159(131)
+               reduce_table.add new ReduceAction308(131)
+               reduce_table.add new ReduceAction309(131)
+               reduce_table.add new ReduceAction159(132)
+               reduce_table.add new ReduceAction311(132)
+               reduce_table.add new ReduceAction312(132)
+               reduce_table.add new ReduceAction159(133)
+               reduce_table.add new ReduceAction314(133)
+               reduce_table.add new ReduceAction315(133)
+               reduce_table.add new ReduceAction316(133)
+               reduce_table.add new ReduceAction159(134)
+               reduce_table.add new ReduceAction318(134)
+               reduce_table.add new ReduceAction159(135)
+               reduce_table.add new ReduceAction320(135)
+               reduce_table.add new ReduceAction321(135)
+               reduce_table.add new ReduceAction322(135)
+               reduce_table.add new ReduceAction323(135)
+               reduce_table.add new ReduceAction159(136)
+               reduce_table.add new ReduceAction325(136)
+               reduce_table.add new ReduceAction326(136)
+               reduce_table.add new ReduceAction327(136)
+               reduce_table.add new ReduceAction328(136)
+               reduce_table.add new ReduceAction159(137)
+               reduce_table.add new ReduceAction330(137)
+               reduce_table.add new ReduceAction331(137)
+               reduce_table.add new ReduceAction183(137)
+               reduce_table.add new ReduceAction187(137)
+               reduce_table.add new ReduceAction333(137)
+               reduce_table.add new ReduceAction341(137)
+               reduce_table.add new ReduceAction184(137)
+               reduce_table.add new ReduceAction188(137)
+               reduce_table.add new ReduceAction335(137)
+               reduce_table.add new ReduceAction343(137)
+               reduce_table.add new ReduceAction185(137)
+               reduce_table.add new ReduceAction189(137)
+               reduce_table.add new ReduceAction337(137)
+               reduce_table.add new ReduceAction345(137)
+               reduce_table.add new ReduceAction184(137)
+               reduce_table.add new ReduceAction188(137)
+               reduce_table.add new ReduceAction335(137)
+               reduce_table.add new ReduceAction343(137)
+               reduce_table.add new ReduceAction191(137)
+               reduce_table.add new ReduceAction349(137)
+               reduce_table.add new ReduceAction192(137)
+               reduce_table.add new ReduceAction193(137)
+               reduce_table.add new ReduceAction351(137)
+               reduce_table.add new ReduceAction353(137)
+               reduce_table.add new ReduceAction355(137)
+               reduce_table.add new ReduceAction356(137)
+               reduce_table.add new ReduceAction357(137)
+               reduce_table.add new ReduceAction358(137)
+               reduce_table.add new ReduceAction359(137)
+               reduce_table.add new ReduceAction360(137)
+               reduce_table.add new ReduceAction357(137)
+               reduce_table.add new ReduceAction358(137)
+               reduce_table.add new ReduceAction363(137)
+               reduce_table.add new ReduceAction364(137)
+               reduce_table.add new ReduceAction365(137)
+               reduce_table.add new ReduceAction159(138)
+               reduce_table.add new ReduceAction367(138)
+               reduce_table.add new ReduceAction368(138)
+               reduce_table.add new ReduceAction369(139)
+               reduce_table.add new ReduceAction370(139)
+               reduce_table.add new ReduceAction371(139)
+               reduce_table.add new ReduceAction372(139)
+               reduce_table.add new ReduceAction373(139)
+               reduce_table.add new ReduceAction374(139)
+               reduce_table.add new ReduceAction375(139)
+               reduce_table.add new ReduceAction376(139)
+               reduce_table.add new ReduceAction377(139)
+               reduce_table.add new ReduceAction378(139)
+               reduce_table.add new ReduceAction379(139)
+               reduce_table.add new ReduceAction380(139)
+               reduce_table.add new ReduceAction381(139)
+               reduce_table.add new ReduceAction382(139)
+               reduce_table.add new ReduceAction383(139)
+               reduce_table.add new ReduceAction159(139)
+               reduce_table.add new ReduceAction159(139)
+               reduce_table.add new ReduceAction146(140)
+               reduce_table.add new ReduceAction147(140)
+               reduce_table.add new ReduceAction148(140)
+               reduce_table.add new ReduceAction149(140)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction169(141)
+               reduce_table.add new ReduceAction170(141)
+               reduce_table.add new ReduceAction171(141)
+               reduce_table.add new ReduceAction172(141)
+               reduce_table.add new ReduceAction173(141)
+               reduce_table.add new ReduceAction174(141)
+               reduce_table.add new ReduceAction175(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction183(141)
+               reduce_table.add new ReduceAction184(141)
+               reduce_table.add new ReduceAction185(141)
+               reduce_table.add new ReduceAction184(141)
+               reduce_table.add new ReduceAction187(141)
+               reduce_table.add new ReduceAction188(141)
+               reduce_table.add new ReduceAction189(141)
+               reduce_table.add new ReduceAction188(141)
+               reduce_table.add new ReduceAction191(141)
+               reduce_table.add new ReduceAction192(141)
+               reduce_table.add new ReduceAction193(141)
+               reduce_table.add new ReduceAction194(141)
+               reduce_table.add new ReduceAction195(141)
+               reduce_table.add new ReduceAction194(141)
+               reduce_table.add new ReduceAction197(141)
+               reduce_table.add new ReduceAction198(141)
+               reduce_table.add new ReduceAction197(141)
+               reduce_table.add new ReduceAction200(141)
+               reduce_table.add new ReduceAction207(142)
+               reduce_table.add new ReduceAction208(142)
+               reduce_table.add new ReduceAction209(142)
+               reduce_table.add new ReduceAction210(142)
+               reduce_table.add new ReduceAction211(142)
+               reduce_table.add new ReduceAction212(142)
+               reduce_table.add new ReduceAction213(142)
+               reduce_table.add new ReduceAction214(142)
+               reduce_table.add new ReduceAction211(142)
+               reduce_table.add new ReduceAction212(142)
+               reduce_table.add new ReduceAction217(142)
+               reduce_table.add new ReduceAction218(142)
+               reduce_table.add new ReduceAction219(142)
+               reduce_table.add new ReduceAction220(142)
+               reduce_table.add new ReduceAction221(142)
+               reduce_table.add new ReduceAction222(142)
+               reduce_table.add new ReduceAction219(142)
+               reduce_table.add new ReduceAction220(142)
+               reduce_table.add new ReduceAction225(142)
+               reduce_table.add new ReduceAction226(142)
+               reduce_table.add new ReduceAction227(142)
+               reduce_table.add new ReduceAction228(142)
+               reduce_table.add new ReduceAction229(142)
+               reduce_table.add new ReduceAction230(142)
+               reduce_table.add new ReduceAction231(142)
+               reduce_table.add new ReduceAction232(142)
+               reduce_table.add new ReduceAction233(142)
+               reduce_table.add new ReduceAction230(142)
+               reduce_table.add new ReduceAction231(142)
+               reduce_table.add new ReduceAction236(142)
+               reduce_table.add new ReduceAction237(142)
+               reduce_table.add new ReduceAction238(142)
+               reduce_table.add new ReduceAction239(142)
+               reduce_table.add new ReduceAction240(142)
+               reduce_table.add new ReduceAction241(142)
+               reduce_table.add new ReduceAction238(142)
+               reduce_table.add new ReduceAction239(142)
+               reduce_table.add new ReduceAction244(142)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction284(143)
+               reduce_table.add new ReduceAction159(144)
+               reduce_table.add new ReduceAction286(144)
+               reduce_table.add new ReduceAction287(144)
+               reduce_table.add new ReduceAction288(144)
+               reduce_table.add new ReduceAction289(144)
+               reduce_table.add new ReduceAction159(145)
+               reduce_table.add new ReduceAction291(145)
+               reduce_table.add new ReduceAction159(146)
+               reduce_table.add new ReduceAction293(146)
+               reduce_table.add new ReduceAction294(146)
+               reduce_table.add new ReduceAction295(146)
+               reduce_table.add new ReduceAction296(146)
+               reduce_table.add new ReduceAction297(146)
+               reduce_table.add new ReduceAction298(146)
+               reduce_table.add new ReduceAction299(146)
+               reduce_table.add new ReduceAction300(146)
+               reduce_table.add new ReduceAction159(147)
+               reduce_table.add new ReduceAction302(147)
+               reduce_table.add new ReduceAction159(148)
+               reduce_table.add new ReduceAction304(148)
+               reduce_table.add new ReduceAction159(149)
+               reduce_table.add new ReduceAction306(149)
+               reduce_table.add new ReduceAction159(150)
+               reduce_table.add new ReduceAction308(150)
+               reduce_table.add new ReduceAction309(150)
+               reduce_table.add new ReduceAction159(151)
+               reduce_table.add new ReduceAction311(151)
+               reduce_table.add new ReduceAction312(151)
+               reduce_table.add new ReduceAction159(152)
+               reduce_table.add new ReduceAction314(152)
+               reduce_table.add new ReduceAction315(152)
+               reduce_table.add new ReduceAction316(152)
+               reduce_table.add new ReduceAction159(153)
+               reduce_table.add new ReduceAction318(153)
+               reduce_table.add new ReduceAction159(154)
+               reduce_table.add new ReduceAction320(154)
+               reduce_table.add new ReduceAction321(154)
+               reduce_table.add new ReduceAction322(154)
+               reduce_table.add new ReduceAction323(154)
+               reduce_table.add new ReduceAction159(155)
+               reduce_table.add new ReduceAction325(155)
+               reduce_table.add new ReduceAction326(155)
+               reduce_table.add new ReduceAction327(155)
+               reduce_table.add new ReduceAction328(155)
+               reduce_table.add new ReduceAction159(156)
+               reduce_table.add new ReduceAction330(156)
+               reduce_table.add new ReduceAction331(156)
+               reduce_table.add new ReduceAction183(156)
+               reduce_table.add new ReduceAction333(156)
+               reduce_table.add new ReduceAction184(156)
+               reduce_table.add new ReduceAction335(156)
+               reduce_table.add new ReduceAction185(156)
+               reduce_table.add new ReduceAction337(156)
+               reduce_table.add new ReduceAction184(156)
+               reduce_table.add new ReduceAction335(156)
+               reduce_table.add new ReduceAction187(156)
+               reduce_table.add new ReduceAction341(156)
+               reduce_table.add new ReduceAction188(156)
+               reduce_table.add new ReduceAction343(156)
+               reduce_table.add new ReduceAction189(156)
+               reduce_table.add new ReduceAction345(156)
+               reduce_table.add new ReduceAction188(156)
+               reduce_table.add new ReduceAction343(156)
+               reduce_table.add new ReduceAction191(156)
+               reduce_table.add new ReduceAction349(156)
+               reduce_table.add new ReduceAction192(156)
+               reduce_table.add new ReduceAction351(156)
+               reduce_table.add new ReduceAction193(156)
+               reduce_table.add new ReduceAction353(156)
+               reduce_table.add new ReduceAction354(156)
+               reduce_table.add new ReduceAction355(156)
+               reduce_table.add new ReduceAction356(156)
+               reduce_table.add new ReduceAction357(156)
+               reduce_table.add new ReduceAction358(156)
+               reduce_table.add new ReduceAction359(156)
+               reduce_table.add new ReduceAction360(156)
+               reduce_table.add new ReduceAction357(156)
+               reduce_table.add new ReduceAction358(156)
+               reduce_table.add new ReduceAction363(156)
+               reduce_table.add new ReduceAction364(156)
+               reduce_table.add new ReduceAction365(156)
+               reduce_table.add new ReduceAction159(157)
+               reduce_table.add new ReduceAction367(157)
+               reduce_table.add new ReduceAction368(157)
+               reduce_table.add new ReduceAction369(158)
+               reduce_table.add new ReduceAction370(158)
+               reduce_table.add new ReduceAction371(158)
+               reduce_table.add new ReduceAction372(158)
+               reduce_table.add new ReduceAction373(158)
+               reduce_table.add new ReduceAction374(158)
+               reduce_table.add new ReduceAction375(158)
+               reduce_table.add new ReduceAction376(158)
+               reduce_table.add new ReduceAction377(158)
+               reduce_table.add new ReduceAction378(158)
+               reduce_table.add new ReduceAction379(158)
+               reduce_table.add new ReduceAction380(158)
+               reduce_table.add new ReduceAction381(158)
+               reduce_table.add new ReduceAction382(158)
+               reduce_table.add new ReduceAction383(158)
+               reduce_table.add new ReduceAction159(158)
+               reduce_table.add new ReduceAction408(159)
+               reduce_table.add new ReduceAction409(159)
+               reduce_table.add new ReduceAction410(160)
+               reduce_table.add new ReduceAction22(160)
+               reduce_table.add new ReduceAction412(161)
+               reduce_table.add new ReduceAction412(162)
+               reduce_table.add new ReduceAction393(163)
+               reduce_table.add new ReduceAction394(163)
+               reduce_table.add new ReduceAction434(164)
+               reduce_table.add new ReduceAction159(164)
+               reduce_table.add new ReduceAction159(164)
+               reduce_table.add new ReduceAction437(164)
+               reduce_table.add new ReduceAction438(164)
+               reduce_table.add new ReduceAction146(165)
+               reduce_table.add new ReduceAction147(165)
+               reduce_table.add new ReduceAction159(166)
+               reduce_table.add new ReduceAction284(166)
+               reduce_table.add new ReduceAction159(167)
+               reduce_table.add new ReduceAction286(167)
+               reduce_table.add new ReduceAction287(167)
+               reduce_table.add new ReduceAction288(167)
+               reduce_table.add new ReduceAction289(167)
+               reduce_table.add new ReduceAction159(168)
+               reduce_table.add new ReduceAction291(168)
+               reduce_table.add new ReduceAction159(169)
+               reduce_table.add new ReduceAction293(169)
+               reduce_table.add new ReduceAction294(169)
+               reduce_table.add new ReduceAction295(169)
+               reduce_table.add new ReduceAction296(169)
+               reduce_table.add new ReduceAction297(169)
+               reduce_table.add new ReduceAction298(169)
+               reduce_table.add new ReduceAction299(169)
+               reduce_table.add new ReduceAction300(169)
+               reduce_table.add new ReduceAction159(170)
+               reduce_table.add new ReduceAction302(170)
+               reduce_table.add new ReduceAction159(171)
+               reduce_table.add new ReduceAction304(171)
+               reduce_table.add new ReduceAction159(172)
+               reduce_table.add new ReduceAction306(172)
+               reduce_table.add new ReduceAction159(173)
+               reduce_table.add new ReduceAction308(173)
+               reduce_table.add new ReduceAction309(173)
+               reduce_table.add new ReduceAction159(174)
+               reduce_table.add new ReduceAction311(174)
+               reduce_table.add new ReduceAction312(174)
+               reduce_table.add new ReduceAction159(175)
+               reduce_table.add new ReduceAction314(175)
+               reduce_table.add new ReduceAction315(175)
+               reduce_table.add new ReduceAction316(175)
+               reduce_table.add new ReduceAction159(176)
+               reduce_table.add new ReduceAction318(176)
+               reduce_table.add new ReduceAction159(177)
+               reduce_table.add new ReduceAction320(177)
+               reduce_table.add new ReduceAction321(177)
+               reduce_table.add new ReduceAction322(177)
+               reduce_table.add new ReduceAction323(177)
+               reduce_table.add new ReduceAction159(178)
+               reduce_table.add new ReduceAction325(178)
+               reduce_table.add new ReduceAction326(178)
+               reduce_table.add new ReduceAction871(178)
+               reduce_table.add new ReduceAction159(179)
+               reduce_table.add new ReduceAction873(179)
+               reduce_table.add new ReduceAction874(179)
+               reduce_table.add new ReduceAction875(179)
+               reduce_table.add new ReduceAction876(179)
+               reduce_table.add new ReduceAction877(179)
+               reduce_table.add new ReduceAction183(179)
+               reduce_table.add new ReduceAction333(179)
+               reduce_table.add new ReduceAction876(179)
+               reduce_table.add new ReduceAction877(179)
+               reduce_table.add new ReduceAction191(179)
+               reduce_table.add new ReduceAction349(179)
+               reduce_table.add new ReduceAction884(179)
+               reduce_table.add new ReduceAction885(179)
+               reduce_table.add new ReduceAction355(179)
+               reduce_table.add new ReduceAction356(179)
+               reduce_table.add new ReduceAction357(179)
+               reduce_table.add new ReduceAction358(179)
+               reduce_table.add new ReduceAction359(179)
+               reduce_table.add new ReduceAction360(179)
+               reduce_table.add new ReduceAction357(179)
+               reduce_table.add new ReduceAction358(179)
+               reduce_table.add new ReduceAction363(179)
+               reduce_table.add new ReduceAction364(179)
+               reduce_table.add new ReduceAction365(179)
+               reduce_table.add new ReduceAction159(180)
+               reduce_table.add new ReduceAction367(180)
+               reduce_table.add new ReduceAction368(180)
+               reduce_table.add new ReduceAction369(181)
+               reduce_table.add new ReduceAction370(181)
+               reduce_table.add new ReduceAction371(181)
+               reduce_table.add new ReduceAction372(181)
+               reduce_table.add new ReduceAction373(181)
+               reduce_table.add new ReduceAction374(181)
+               reduce_table.add new ReduceAction375(181)
+               reduce_table.add new ReduceAction376(181)
+               reduce_table.add new ReduceAction377(181)
+               reduce_table.add new ReduceAction378(181)
+               reduce_table.add new ReduceAction379(181)
+               reduce_table.add new ReduceAction380(181)
+               reduce_table.add new ReduceAction381(181)
+               reduce_table.add new ReduceAction382(181)
+               reduce_table.add new ReduceAction383(181)
+               reduce_table.add new ReduceAction159(181)
+               reduce_table.add new ReduceAction916(182)
+               reduce_table.add new ReduceAction917(182)
+               reduce_table.add new ReduceAction156(183)
+               reduce_table.add new ReduceAction157(183)
+               reduce_table.add new ReduceAction158(183)
+               reduce_table.add new ReduceAction159(183)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction169(184)
+               reduce_table.add new ReduceAction170(184)
+               reduce_table.add new ReduceAction171(184)
+               reduce_table.add new ReduceAction172(184)
+               reduce_table.add new ReduceAction173(184)
+               reduce_table.add new ReduceAction174(184)
+               reduce_table.add new ReduceAction175(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction159(184)
+               reduce_table.add new ReduceAction183(184)
+               reduce_table.add new ReduceAction184(184)
+               reduce_table.add new ReduceAction185(184)
+               reduce_table.add new ReduceAction184(184)
+               reduce_table.add new ReduceAction187(184)
+               reduce_table.add new ReduceAction188(184)
+               reduce_table.add new ReduceAction189(184)
+               reduce_table.add new ReduceAction188(184)
+               reduce_table.add new ReduceAction191(184)
+               reduce_table.add new ReduceAction192(184)
+               reduce_table.add new ReduceAction193(184)
+               reduce_table.add new ReduceAction194(184)
+               reduce_table.add new ReduceAction195(184)
+               reduce_table.add new ReduceAction194(184)
+               reduce_table.add new ReduceAction197(184)
+               reduce_table.add new ReduceAction198(184)
+               reduce_table.add new ReduceAction197(184)
+               reduce_table.add new ReduceAction200(184)
+               reduce_table.add new ReduceAction256(185)
+               reduce_table.add new ReduceAction257(185)
+               reduce_table.add new ReduceAction258(186)
+               reduce_table.add new ReduceAction267(187)
+               reduce_table.add new ReduceAction268(187)
+               reduce_table.add new ReduceAction269(188)
+               reduce_table.add new ReduceAction270(188)
+               reduce_table.add new ReduceAction271(189)
+               reduce_table.add new ReduceAction272(189)
+               reduce_table.add new ReduceAction273(190)
+               reduce_table.add new ReduceAction274(190)
+               reduce_table.add new ReduceAction278(191)
+               reduce_table.add new ReduceAction279(191)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction169(192)
+               reduce_table.add new ReduceAction170(192)
+               reduce_table.add new ReduceAction171(192)
+               reduce_table.add new ReduceAction172(192)
+               reduce_table.add new ReduceAction173(192)
+               reduce_table.add new ReduceAction174(192)
+               reduce_table.add new ReduceAction175(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction159(192)
+               reduce_table.add new ReduceAction183(192)
+               reduce_table.add new ReduceAction184(192)
+               reduce_table.add new ReduceAction185(192)
+               reduce_table.add new ReduceAction184(192)
+               reduce_table.add new ReduceAction187(192)
+               reduce_table.add new ReduceAction188(192)
+               reduce_table.add new ReduceAction189(192)
+               reduce_table.add new ReduceAction188(192)
+               reduce_table.add new ReduceAction191(192)
+               reduce_table.add new ReduceAction192(192)
+               reduce_table.add new ReduceAction193(192)
+               reduce_table.add new ReduceAction194(192)
+               reduce_table.add new ReduceAction195(192)
+               reduce_table.add new ReduceAction194(192)
+               reduce_table.add new ReduceAction197(192)
+               reduce_table.add new ReduceAction198(192)
+               reduce_table.add new ReduceAction197(192)
+               reduce_table.add new ReduceAction200(192)
+               reduce_table.add new ReduceAction156(193)
+               reduce_table.add new ReduceAction157(193)
+               reduce_table.add new ReduceAction158(193)
+               reduce_table.add new ReduceAction156(194)
+               reduce_table.add new ReduceAction157(194)
+               reduce_table.add new ReduceAction158(194)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction169(195)
+               reduce_table.add new ReduceAction170(195)
+               reduce_table.add new ReduceAction171(195)
+               reduce_table.add new ReduceAction172(195)
+               reduce_table.add new ReduceAction173(195)
+               reduce_table.add new ReduceAction174(195)
+               reduce_table.add new ReduceAction175(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction159(195)
+               reduce_table.add new ReduceAction200(195)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction169(196)
+               reduce_table.add new ReduceAction170(196)
+               reduce_table.add new ReduceAction171(196)
+               reduce_table.add new ReduceAction172(196)
+               reduce_table.add new ReduceAction173(196)
+               reduce_table.add new ReduceAction174(196)
+               reduce_table.add new ReduceAction175(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction159(196)
+               reduce_table.add new ReduceAction200(196)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction169(197)
+               reduce_table.add new ReduceAction170(197)
+               reduce_table.add new ReduceAction171(197)
+               reduce_table.add new ReduceAction172(197)
+               reduce_table.add new ReduceAction173(197)
+               reduce_table.add new ReduceAction174(197)
+               reduce_table.add new ReduceAction175(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction159(197)
+               reduce_table.add new ReduceAction200(197)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction169(198)
+               reduce_table.add new ReduceAction170(198)
+               reduce_table.add new ReduceAction171(198)
+               reduce_table.add new ReduceAction172(198)
+               reduce_table.add new ReduceAction173(198)
+               reduce_table.add new ReduceAction174(198)
+               reduce_table.add new ReduceAction175(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction159(198)
+               reduce_table.add new ReduceAction200(198)
+               reduce_table.add new ReduceAction440(199)
+               reduce_table.add new ReduceAction442(199)
+               reduce_table.add new ReduceAction480(200)
+               reduce_table.add new ReduceAction481(200)
+               reduce_table.add new ReduceAction23(200)
+               reduce_table.add new ReduceAction1078(201)
+               reduce_table.add new ReduceAction1079(201)
+               reduce_table.add new ReduceAction1080(202)
+               reduce_table.add new ReduceAction1081(202)
+               reduce_table.add new ReduceAction1082(203)
+               reduce_table.add new ReduceAction1083(203)
+               reduce_table.add new ReduceAction37(204)
+               reduce_table.add new ReduceAction1085(204)
+               reduce_table.add new ReduceAction45(205)
+               reduce_table.add new ReduceAction1087(205)
+               reduce_table.add new ReduceAction414(206)
+               reduce_table.add new ReduceAction1089(206)
+               reduce_table.add new ReduceAction1090(207)
+               reduce_table.add new ReduceAction1091(207)
+               reduce_table.add new ReduceAction1092(208)
+               reduce_table.add new ReduceAction1093(208)
+               reduce_table.add new ReduceAction150(209)
+               reduce_table.add new ReduceAction1095(209)
+               reduce_table.add new ReduceAction393(210)
+               reduce_table.add new ReduceAction1097(210)
+               reduce_table.add new ReduceAction393(211)
+               reduce_table.add new ReduceAction1097(211)
+               reduce_table.add new ReduceAction393(212)
+               reduce_table.add new ReduceAction1097(212)
+               reduce_table.add new ReduceAction454(213)
+               reduce_table.add new ReduceAction1103(213)
+               reduce_table.add new ReduceAction414(214)
+               reduce_table.add new ReduceAction1089(214)
+               reduce_table.add new ReduceAction393(215)
+               reduce_table.add new ReduceAction1097(215)
+               reduce_table.add new ReduceAction393(216)
+               reduce_table.add new ReduceAction1097(216)
+               reduce_table.add new ReduceAction455(217)
+               reduce_table.add new ReduceAction1111(217)
+               reduce_table.add new ReduceAction1112(218)
+               reduce_table.add new ReduceAction1113(218)
+               reduce_table.add new ReduceAction477(219)
+               reduce_table.add new ReduceAction496(219)
        end
 end
 
@@ -1637,6 +1745,7 @@ private class ReduceAction20
        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 ppropdefnode2 = nodearraylist1
@@ -1711,7 +1820,6 @@ private class ReduceAction26
        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
@@ -1721,7 +1829,6 @@ private class ReduceAction26
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -1733,10 +1840,10 @@ private class ReduceAction26
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var tkwendnode13 = nodearraylist9
+                                       var listnode11 = nodearraylist7
+                                       assert listnode11 isa Array[Object]
+                                       listnode12 = concat(listnode12, listnode11)
+                                       var tkwendnode13 = nodearraylist8
                                        assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
@@ -1744,10 +1851,10 @@ private class ReduceAction26
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
+                                               null,
                                                listnode8,
                                                null,
                                                null,
-                                               listnode11,
                                                listnode12,
                                                tkwendnode13
                                        )
@@ -1760,67 +1867,6 @@ private class ReduceAction27
        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 listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var tkwendnode18 = nodearraylist10
-                                       assert tkwendnode18 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode16,
-                                               listnode17,
-                                               tkwendnode18
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction28
-       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
@@ -1831,7 +1877,6 @@ private class ReduceAction28
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -1843,12 +1888,12 @@ private class ReduceAction28
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
+                                       var pexterncodeblocknode10 = nodearraylist7
                                        assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var tkwendnode13 = nodearraylist10
+                                       var listnode11 = nodearraylist8
+                                       assert listnode11 isa Array[Object]
+                                       listnode12 = concat(listnode12, listnode11)
+                                       var tkwendnode13 = nodearraylist9
                                        assert tkwendnode13 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
@@ -1856,10 +1901,10 @@ private class ReduceAction28
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
+                                               null,
                                                listnode8,
                                                null,
                                                pexterncodeblocknode10,
-                                               listnode11,
                                                listnode12,
                                                tkwendnode13
                                        )
@@ -1867,11 +1912,12 @@ private class ReduceAction28
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction29
+private class ReduceAction28
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist12 = p.pop
                                        var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
@@ -1883,9 +1929,8 @@ private class ReduceAction29
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode17 = new Array[Object]
+                                       var listnode9 = new Array[Object]
+                                       var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
@@ -1896,45 +1941,43 @@ private class ReduceAction29
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
+                                       var tobranode7 = nodearraylist7
+                                       assert tobranode7 isa nullable TObra
+                                       var listnode8 = nodearraylist9
+                                       assert listnode8 isa Array[Object]
+                                       listnode9 = concat(listnode9, listnode8)
+                                       var tcbranode10 = nodearraylist10
+                                       assert tcbranode10 isa nullable TCbra
+                                       var listnode12 = nodearraylist11
                                        assert listnode12 isa Array[Object]
                                        listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var tkwendnode18 = nodearraylist11
-                                       assert tkwendnode18 isa nullable TKwend
+                                       var tkwendnode14 = nodearraylist12
+                                       assert tkwendnode14 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode16,
-                                               listnode17,
-                                               tkwendnode18
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
+                                               null,
+                                               listnode13,
+                                               tkwendnode14
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction30
+private class ReduceAction29
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist13 = p.pop
+                                       var nodearraylist12 = p.pop
+                                       var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
                                        var nodearraylist8 = p.pop
@@ -1945,8 +1988,7 @@ private class ReduceAction30
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
+                                       var listnode9 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
@@ -1958,13 +2000,19 @@ private class ReduceAction30
                                        assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode11 = nodearraylist8
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var tkwendnode14 = nodearraylist10
+                                       var tobranode7 = nodearraylist7
+                                       assert tobranode7 isa nullable TObra
+                                       var listnode8 = nodearraylist9
+                                       assert listnode8 isa Array[Object]
+                                       listnode9 = concat(listnode9, listnode8)
+                                       var tcbranode10 = nodearraylist10
+                                       assert tcbranode10 isa nullable TCbra
+                                       var pexterncodeblocknode11 = nodearraylist11
+                                       assert pexterncodeblocknode11 isa nullable AExternCodeBlock
+                                       var listnode12 = nodearraylist12
+                                       assert listnode12 isa Array[Object]
+                                       listnode13 = concat(listnode13, listnode12)
+                                       var tkwendnode14 = nodearraylist13
                                        assert tkwendnode14 isa nullable TKwend
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
@@ -1972,10 +2020,10 @@ private class ReduceAction30
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode12,
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
+                                               pexterncodeblocknode11,
                                                listnode13,
                                                tkwendnode14
                                        )
@@ -1988,62 +2036,9 @@ private class ReduceAction31
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode16 = nodearraylist9
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var tkwendnode19 = nodearraylist11
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode17,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
+                                       var tkwredefnode1 = nodearraylist1
+                                       node_list = tkwredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -2052,54 +2047,13 @@ private class ReduceAction32
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode11 = nodearraylist9
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var tkwendnode14 = nodearraylist11
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode12,
-                                               listnode13,
-                                               tkwendnode14
+                                       var tkwclassnode2 = nodearraylist1
+                                       assert tkwclassnode2 isa nullable TKwclass
+                                       var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind(
+                                               tkwclassnode2
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -2108,65 +2062,17 @@ private class ReduceAction33
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       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 listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode16 = nodearraylist10
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var tkwendnode19 = nodearraylist12
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode17,
-                                               listnode18,
-                                               tkwendnode19
+                                       var tkwabstractnode2 = nodearraylist1
+                                       assert tkwabstractnode2 isa nullable TKwabstract
+                                       var tkwclassnode3 = nodearraylist2
+                                       assert tkwclassnode3 isa nullable TKwclass
+                                       var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind(
+                                               tkwabstractnode2,
+                                               tkwclassnode3
                                        )
-                                       node_list = pclassdefnode1
+                                       node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
@@ -2175,547 +2081,6 @@ private class ReduceAction34
        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 listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var tkwendnode14 = nodearraylist10
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode11,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction35
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode17 = nodearraylist9
-                                       assert listnode17 isa Array[Object]
-                                       listnode18 = concat(listnode18, listnode17)
-                                       var tkwendnode19 = nodearraylist11
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode16,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction36
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode11 = new Array[Object]
-                                       var listnode13 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode12 = nodearraylist9
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var tkwendnode14 = nodearraylist11
-                                       assert tkwendnode14 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode11,
-                                               listnode13,
-                                               tkwendnode14
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction37
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       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 listnode8 = new Array[Object]
-                                       var listnode16 = new Array[Object]
-                                       var listnode18 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode17 = nodearraylist10
-                                       assert listnode17 isa Array[Object]
-                                       listnode18 = concat(listnode18, listnode17)
-                                       var tkwendnode19 = nodearraylist12
-                                       assert tkwendnode19 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode16,
-                                               listnode18,
-                                               tkwendnode19
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction38
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode14 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode11 = nodearraylist8
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var listnode13 = nodearraylist9
-                                       assert listnode13 isa Array[Object]
-                                       listnode14 = concat(listnode14, listnode13)
-                                       var tkwendnode15 = nodearraylist11
-                                       assert tkwendnode15 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               null,
-                                               listnode12,
-                                               listnode14,
-                                               tkwendnode15
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction39
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       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 listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode19 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var listnode16 = nodearraylist9
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var listnode18 = nodearraylist10
-                                       assert listnode18 isa Array[Object]
-                                       listnode19 = concat(listnode19, listnode18)
-                                       var tkwendnode20 = nodearraylist12
-                                       assert tkwendnode20 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               null,
-                                               listnode17,
-                                               listnode19,
-                                               tkwendnode20
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction40
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       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 listnode8 = new Array[Object]
-                                       var listnode12 = new Array[Object]
-                                       var listnode14 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var pexterncodeblocknode10 = nodearraylist8
-                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
-                                       var listnode11 = nodearraylist9
-                                       assert listnode11 isa Array[Object]
-                                       listnode12 = concat(listnode12, listnode11)
-                                       var listnode13 = nodearraylist10
-                                       assert listnode13 isa Array[Object]
-                                       listnode14 = concat(listnode14, listnode13)
-                                       var tkwendnode15 = nodearraylist12
-                                       assert tkwendnode15 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               null,
-                                               pexterncodeblocknode10,
-                                               listnode12,
-                                               listnode14,
-                                               tkwendnode15
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction41
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist13 = p.pop
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode8 = new Array[Object]
-                                       var listnode17 = new Array[Object]
-                                       var listnode19 = new Array[Object]
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable AClasskind
-                                       var tclassidnode6 = nodearraylist6
-                                       assert tclassidnode6 isa nullable TClassid
-                                       var listnode7 = nodearraylist7
-                                       assert listnode7 isa Array[Object]
-                                       listnode8 = concat(listnode8, listnode7)
-                                       var listnode13 = new Array[Object]
-                                       var listnode12 = nodearraylist8
-                                       assert listnode12 isa Array[Object]
-                                       listnode13 = concat(listnode13, listnode12)
-                                       var pannotationsnode9: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode13,
-                                               null
-                                       )
-                                       var pexterncodeblocknode15 = nodearraylist9
-                                       assert pexterncodeblocknode15 isa nullable AExternCodeBlock
-                                       var listnode16 = nodearraylist10
-                                       assert listnode16 isa Array[Object]
-                                       listnode17 = concat(listnode17, listnode16)
-                                       var listnode18 = nodearraylist11
-                                       assert listnode18 isa Array[Object]
-                                       listnode19 = concat(listnode19, listnode18)
-                                       var tkwendnode20 = nodearraylist13
-                                       assert tkwendnode20 isa nullable TKwend
-                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               pclasskindnode5,
-                                               tclassidnode6,
-                                               listnode8,
-                                               pannotationsnode9,
-                                               pexterncodeblocknode15,
-                                               listnode17,
-                                               listnode19,
-                                               tkwendnode20
-                                       )
-                                       node_list = pclassdefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction43
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwredefnode1 = nodearraylist1
-                                       node_list = tkwredefnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction44
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var tkwclassnode2 = nodearraylist1
-                                       assert tkwclassnode2 isa nullable TKwclass
-                                       var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind(
-                                               tkwclassnode2
-                                       )
-                                       node_list = pclasskindnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction45
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var tkwabstractnode2 = nodearraylist1
-                                       assert tkwabstractnode2 isa nullable TKwabstract
-                                       var tkwclassnode3 = nodearraylist2
-                                       assert tkwclassnode3 isa nullable TKwclass
-                                       var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind(
-                                               tkwabstractnode2,
-                                               tkwclassnode3
-                                       )
-                                       node_list = pclasskindnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction46
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var tkwinterfacenode2 = nodearraylist1
                                        assert tkwinterfacenode2 isa nullable TKwinterface
@@ -2726,7 +2091,7 @@ private class ReduceAction46
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction47
+private class ReduceAction35
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2741,7 +2106,7 @@ private class ReduceAction47
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction48
+private class ReduceAction36
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2760,18 +2125,14 @@ private class ReduceAction48
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction49
+private class ReduceAction37
        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 pformaldefnode1 = nodearraylist3
+                                       var pformaldefnode1 = nodearraylist1
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -2779,20 +2140,16 @@ private class ReduceAction49
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction50
+private class ReduceAction38
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
-                                       var pformaldefnode1 = nodearraylist3
-                                       var listnode2 = nodearraylist4
+                                       var pformaldefnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pformaldefnode1 != null then
                                                listnode3.add(pformaldefnode1)
@@ -2802,7 +2159,7 @@ private class ReduceAction50
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction51
+private class ReduceAction39
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2812,7 +2169,7 @@ private class ReduceAction51
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction52
+private class ReduceAction40
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2825,11 +2182,12 @@ private class ReduceAction52
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction53
+private class ReduceAction41
        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 tclassidnode2 = nodearraylist1
@@ -2845,11 +2203,12 @@ private class ReduceAction53
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction54
+private class ReduceAction42
        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
@@ -2868,32 +2227,84 @@ private class ReduceAction54
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction55
+private class ReduceAction43
        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 tkwsupernode2 = nodearraylist2
-                                       assert tkwsupernode2 isa nullable TKwsuper
-                                       var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable AType
-                                       var pannotationsnode4 = nodearraylist5
-                                       assert pannotationsnode4 isa nullable AAnnotations
-                                       var psuperclassnode1: nullable ASuperclass = new ASuperclass.init_asuperclass(
-                                               tkwsupernode2,
-                                               ptypenode3,
-                                               pannotationsnode4
+                                       var pdocnode2 = nodearraylist1
+                                       assert pdocnode2 isa nullable ADoc
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwsupernode5 = nodearraylist4
+                                       assert tkwsupernode5 isa nullable TKwsuper
+                                       var ptypenode6 = nodearraylist6
+                                       assert ptypenode6 isa nullable AType
+                                       var pannotationsnode7 = nodearraylist7
+                                       assert pannotationsnode7 isa nullable AAnnotations
+                                       var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwsupernode5,
+                                               ptypenode6,
+                                               pannotationsnode7
                                        )
-                                       node_list = psuperclassnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction56
+private class ReduceAction44
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = 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 ReduceAction45
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var ppropdefnode1 = nodearraylist1
+                                       if ppropdefnode1 != null then
+                                               listnode2.add(ppropdefnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction46
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode1 = new Array[Object]
+                                       node_list = listnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction47
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2905,7 +2316,7 @@ private class ReduceAction56
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction57
+private class ReduceAction48
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2931,8 +2342,12 @@ private class ReduceAction57
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2945,13 +2360,15 @@ private class ReduceAction57
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction58
+private class ReduceAction49
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2980,8 +2397,12 @@ private class ReduceAction58
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -2994,13 +2415,15 @@ private class ReduceAction58
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction59
+private class ReduceAction50
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3038,13 +2461,15 @@ private class ReduceAction59
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction60
+private class ReduceAction51
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3079,13 +2504,15 @@ private class ReduceAction60
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction61
+private class ReduceAction52
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3123,13 +2550,15 @@ private class ReduceAction61
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction62
+private class ReduceAction53
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3152,8 +2581,12 @@ private class ReduceAction62
                                        assert tkwnewnode7 isa nullable TKwnew
                                        var psignaturenode9 = nodearraylist5
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist7
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist6
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist7
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist8
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3166,13 +2599,15 @@ private class ReduceAction62
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction63
+private class ReduceAction54
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3198,8 +2633,12 @@ private class ReduceAction63
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3212,13 +2651,15 @@ private class ReduceAction63
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction64
+private class ReduceAction55
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3244,8 +2685,12 @@ private class ReduceAction64
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist6
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3258,13 +2703,15 @@ private class ReduceAction64
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction65
+private class ReduceAction56
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3293,8 +2740,12 @@ private class ReduceAction65
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3307,13 +2758,15 @@ private class ReduceAction65
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction66
+private class ReduceAction57
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3354,13 +2807,15 @@ private class ReduceAction66
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction67
+private class ReduceAction58
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3404,13 +2859,15 @@ private class ReduceAction67
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction68
+private class ReduceAction59
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3434,8 +2891,8 @@ private class ReduceAction68
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3444,14 +2901,17 @@ private class ReduceAction68
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
+                                               null,
+                                               pannotationsnode10,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction69
+private class ReduceAction60
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3478,10 +2938,12 @@ private class ReduceAction69
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode8 = nodearraylist9
-                                       assert pexprnode8 isa nullable AExpr
-                                       var pannotationsnode9 = nodearraylist10
-                                       assert pannotationsnode9 isa nullable AAnnotations
+                                       var tassignnode8 = nodearraylist7
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist9
+                                       assert pexprnode9 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist10
+                                       assert pannotationsnode10 isa nullable AAnnotations
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3489,15 +2951,18 @@ private class ReduceAction69
                                                tkwvarnode5,
                                                tidnode6,
                                                ptypenode7,
-                                               pexprnode8,
-                                               pannotationsnode9,
+                                               tassignnode8,
+                                               pexprnode9,
+                                               pannotationsnode10,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction70
+private class ReduceAction61
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3522,8 +2987,10 @@ private class ReduceAction70
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode10 = nodearraylist8
-                                       assert pexprnode10 isa nullable AExpr
+                                       var tkwdonode11 = nodearraylist7
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3533,13 +3000,16 @@ private class ReduceAction70
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction71
+private class ReduceAction62
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3565,10 +3035,12 @@ private class ReduceAction71
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
-                                       var pexprnode10 = nodearraylist9
-                                       assert pexprnode10 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
+                                       var tkwdonode11 = nodearraylist8
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3577,14 +3049,17 @@ private class ReduceAction71
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
-                                               pexprnode10
+                                               null,
+                                               pannotationsnode10,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction72
+private class ReduceAction63
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3610,8 +3085,12 @@ private class ReduceAction72
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pexprnode10 = nodearraylist8
-                                       assert pexprnode10 isa nullable AExpr
+                                       var tkwdonode11 = nodearraylist7
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
+                                       var tkwendnode13 = nodearraylist9
+                                       assert tkwendnode13 isa nullable TKwend
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3621,13 +3100,16 @@ private class ReduceAction72
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               tkwendnode13
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction73
+private class ReduceAction64
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3654,10 +3136,14 @@ private class ReduceAction73
                                        assert tidnode6 isa nullable TId
                                        var ptypenode7 = nodearraylist6
                                        assert ptypenode7 isa nullable AType
-                                       var pannotationsnode9 = nodearraylist7
-                                       assert pannotationsnode9 isa nullable AAnnotations
-                                       var pexprnode10 = nodearraylist9
-                                       assert pexprnode10 isa nullable AExpr
+                                       var pannotationsnode10 = nodearraylist7
+                                       assert pannotationsnode10 isa nullable AAnnotations
+                                       var tkwdonode11 = nodearraylist8
+                                       assert tkwdonode11 isa nullable TKwdo
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
+                                       var tkwendnode13 = nodearraylist10
+                                       assert tkwendnode13 isa nullable TKwend
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3666,14 +3152,17 @@ private class ReduceAction73
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
-                                               pexprnode10
+                                               null,
+                                               pannotationsnode10,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               tkwendnode13
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction74
+private class ReduceAction65
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3696,8 +3185,12 @@ private class ReduceAction74
                                        assert tkwinitnode6 isa nullable TKwinit
                                        var psignaturenode9 = nodearraylist5
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist7
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist6
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist7
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist8
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3710,13 +3203,15 @@ private class ReduceAction74
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction75
+private class ReduceAction66
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3742,8 +3237,12 @@ private class ReduceAction75
                                        assert pmethidnode8 isa nullable AMethid
                                        var psignaturenode9 = nodearraylist6
                                        assert psignaturenode9 isa nullable ASignature
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3756,13 +3255,15 @@ private class ReduceAction75
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction76
+private class ReduceAction67
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3788,8 +3289,12 @@ private class ReduceAction76
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist6
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist7
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist8
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist9
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3802,13 +3307,15 @@ private class ReduceAction76
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction77
+private class ReduceAction68
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3837,8 +3344,12 @@ private class ReduceAction77
                                        assert psignaturenode9 isa nullable ASignature
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwdonode13 = nodearraylist8
+                                       assert tkwdonode13 isa nullable TKwdo
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
+                                       var tkwendnode15 = nodearraylist10
+                                       assert tkwendnode15 isa nullable TKwend
                                        var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -3851,13 +3362,15 @@ private class ReduceAction77
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction78
+private class ReduceAction69
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3896,7 +3409,7 @@ private class ReduceAction78
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction79
+private class ReduceAction70
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3934,13 +3447,15 @@ private class ReduceAction79
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction80
+private class ReduceAction71
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3981,13 +3496,15 @@ private class ReduceAction80
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction81
+private class ReduceAction72
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4028,13 +3545,15 @@ private class ReduceAction81
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction82
+private class ReduceAction73
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4078,25 +3597,51 @@ private class ReduceAction82
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction83
+private class ReduceAction74
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var ppropdefnode1 = nodearraylist1
+                                       node_list = ppropdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction76
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist2
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               null
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction84
+private class ReduceAction77
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4105,12 +3650,27 @@ private class ReduceAction84
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist3
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist3
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tkwendnode8 = nodearraylist4
+                                       assert tkwendnode8 isa nullable TKwend
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               tkwendnode8
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction87
+private class ReduceAction80
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4118,12 +3678,25 @@ private class ReduceAction87
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pannotationsnode1 = nodearraylist3
+                                       var listnode6 = new Array[Object]
+                                       var tkwisnode2 = nodearraylist1
+                                       assert tkwisnode2 isa nullable TKwis
+                                       var listnode5 = nodearraylist3
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
+                                               tkwisnode2,
+                                               null,
+                                               null,
+                                               listnode6,
+                                               null,
+                                               null
+                                       )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction88
+private class ReduceAction81
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4135,7 +3708,7 @@ private class ReduceAction88
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction89
+private class ReduceAction82
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4151,7 +3724,7 @@ private class ReduceAction89
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction90
+private class ReduceAction83
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4167,7 +3740,7 @@ private class ReduceAction90
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction91
+private class ReduceAction84
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4183,7 +3756,7 @@ private class ReduceAction91
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction92
+private class ReduceAction85
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4199,7 +3772,7 @@ private class ReduceAction92
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction93
+private class ReduceAction86
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4214,7 +3787,7 @@ private class ReduceAction93
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction94
+private class ReduceAction87
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4229,7 +3802,7 @@ private class ReduceAction94
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction95
+private class ReduceAction88
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4244,7 +3817,7 @@ private class ReduceAction95
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction96
+private class ReduceAction89
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4259,7 +3832,7 @@ private class ReduceAction96
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction97
+private class ReduceAction90
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4274,7 +3847,7 @@ private class ReduceAction97
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction98
+private class ReduceAction91
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4289,7 +3862,67 @@ private class ReduceAction98
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction99
+private class ReduceAction92
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpipenode2 = nodearraylist1
+                                       assert tpipenode2 isa nullable TPipe
+                                       var pmethidnode1: nullable APipeMethid = new APipeMethid.init_apipemethid(
+                                               tpipenode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction93
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tcaretnode2 = nodearraylist1
+                                       assert tcaretnode2 isa nullable TCaret
+                                       var pmethidnode1: nullable ACaretMethid = new ACaretMethid.init_acaretmethid(
+                                               tcaretnode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction94
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tampnode2 = nodearraylist1
+                                       assert tampnode2 isa nullable TAmp
+                                       var pmethidnode1: nullable AAmpMethid = new AAmpMethid.init_aampmethid(
+                                               tampnode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction95
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var ttildenode2 = nodearraylist1
+                                       assert ttildenode2 isa nullable TTilde
+                                       var pmethidnode1: nullable ATildeMethid = new ATildeMethid.init_atildemethid(
+                                               ttildenode2
+                                       )
+                                       node_list = pmethidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction96
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4304,7 +3937,7 @@ private class ReduceAction99
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction100
+private class ReduceAction97
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4319,7 +3952,7 @@ private class ReduceAction100
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction101
+private class ReduceAction98
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4334,7 +3967,7 @@ private class ReduceAction101
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction102
+private class ReduceAction99
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4349,7 +3982,7 @@ private class ReduceAction102
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction103
+private class ReduceAction100
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4364,7 +3997,7 @@ private class ReduceAction103
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction104
+private class ReduceAction101
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4379,7 +4012,7 @@ private class ReduceAction104
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction105
+private class ReduceAction102
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4394,7 +4027,7 @@ private class ReduceAction105
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction106
+private class ReduceAction103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4409,7 +4042,7 @@ private class ReduceAction106
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction107
+private class ReduceAction104
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4428,7 +4061,7 @@ private class ReduceAction107
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction108
+private class ReduceAction105
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4443,7 +4076,7 @@ private class ReduceAction108
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction109
+private class ReduceAction106
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4462,7 +4095,7 @@ private class ReduceAction109
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction110
+private class ReduceAction107
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4485,7 +4118,7 @@ private class ReduceAction110
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction111
+private class ReduceAction108
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4500,7 +4133,7 @@ private class ReduceAction111
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction112
+private class ReduceAction109
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4531,7 +4164,7 @@ private class ReduceAction112
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction113
+private class ReduceAction110
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4559,7 +4192,7 @@ private class ReduceAction113
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction114
+private class ReduceAction111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4579,7 +4212,7 @@ private class ReduceAction114
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction115
+private class ReduceAction112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4596,7 +4229,7 @@ private class ReduceAction115
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction116
+private class ReduceAction113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4612,7 +4245,7 @@ private class ReduceAction116
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction117
+private class ReduceAction114
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4632,7 +4265,7 @@ private class ReduceAction117
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction119
+private class ReduceAction116
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4645,7 +4278,7 @@ private class ReduceAction119
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction120
+private class ReduceAction117
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4666,7 +4299,7 @@ private class ReduceAction120
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction121
+private class ReduceAction118
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4687,7 +4320,7 @@ private class ReduceAction121
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction122
+private class ReduceAction119
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4711,7 +4344,7 @@ private class ReduceAction122
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction123
+private class ReduceAction120
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4735,7 +4368,7 @@ private class ReduceAction123
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction124
+private class ReduceAction121
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4762,7 +4395,7 @@ private class ReduceAction124
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction125
+private class ReduceAction122
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4786,7 +4419,7 @@ private class ReduceAction125
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction126
+private class ReduceAction123
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4814,7 +4447,7 @@ private class ReduceAction126
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction128
+private class ReduceAction125
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4827,7 +4460,7 @@ private class ReduceAction128
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction129
+private class ReduceAction126
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4838,7 +4471,7 @@ private class ReduceAction129
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction131
+private class ReduceAction128
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4853,7 +4486,7 @@ private class ReduceAction131
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction132
+private class ReduceAction129
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4868,7 +4501,7 @@ private class ReduceAction132
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction133
+private class ReduceAction130
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4891,7 +4524,7 @@ private class ReduceAction133
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction134
+private class ReduceAction131
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4906,7 +4539,7 @@ private class ReduceAction134
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction135
+private class ReduceAction132
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4938,7 +4571,7 @@ private class ReduceAction135
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction136
+private class ReduceAction133
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4966,7 +4599,7 @@ private class ReduceAction136
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction137
+private class ReduceAction134
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4995,7 +4628,7 @@ private class ReduceAction137
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction138
+private class ReduceAction135
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5020,7 +4653,7 @@ private class ReduceAction138
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction139
+private class ReduceAction136
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5054,7 +4687,7 @@ private class ReduceAction139
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction140
+private class ReduceAction137
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5084,7 +4717,7 @@ private class ReduceAction140
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction142
+private class ReduceAction139
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5095,7 +4728,7 @@ private class ReduceAction142
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction143
+private class ReduceAction140
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5116,7 +4749,7 @@ private class ReduceAction143
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction144
+private class ReduceAction141
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5132,7 +4765,7 @@ private class ReduceAction144
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction145
+private class ReduceAction142
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5151,7 +4784,7 @@ private class ReduceAction145
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction146
+private class ReduceAction143
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5162,7 +4795,7 @@ private class ReduceAction146
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction148
+private class ReduceAction145
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5174,29 +4807,31 @@ private class ReduceAction148
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction149
+private class ReduceAction146
        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 listnode5 = new Array[Object]
                                        var tclassidnode3 = nodearraylist1
                                        assert tclassidnode3 isa nullable TClassid
-                                       var pannotationsnode5 = nodearraylist2
-                                       assert pannotationsnode5 isa nullable AAnnotations
+                                       var pannotationsnode7 = nodearraylist2
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                null,
                                                tclassidnode3,
-                                               listnode4,
-                                               pannotationsnode5
+                                               null,
+                                               listnode5,
+                                               null,
+                                               pannotationsnode7
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction150
+private class ReduceAction147
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5204,24 +4839,26 @@ private class ReduceAction150
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
+                                       var listnode5 = 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 pannotationsnode7 = nodearraylist3
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                tkwnullablenode2,
                                                tclassidnode3,
-                                               listnode4,
-                                               pannotationsnode5
+                                               null,
+                                               listnode5,
+                                               null,
+                                               pannotationsnode7
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction151
+private class ReduceAction148
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5233,25 +4870,31 @@ private class ReduceAction151
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
+                                       var listnode6 = 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 tobranode4 = nodearraylist2
+                                       assert tobranode4 isa nullable TObra
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcbranode7 = nodearraylist6
+                                       assert tcbranode7 isa nullable TCbra
+                                       var pannotationsnode8 = nodearraylist7
+                                       assert pannotationsnode8 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                null,
                                                tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
+                                               tobranode4,
+                                               listnode6,
+                                               tcbranode7,
+                                               pannotationsnode8
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction152
+private class ReduceAction149
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5264,27 +4907,33 @@ private class ReduceAction152
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
+                                       var listnode6 = 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 tobranode4 = nodearraylist3
+                                       assert tobranode4 isa nullable TObra
+                                       var listnode5 = nodearraylist5
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcbranode7 = nodearraylist7
+                                       assert tcbranode7 isa nullable TCbra
+                                       var pannotationsnode8 = nodearraylist8
+                                       assert pannotationsnode8 isa nullable AAnnotations
                                        var ptypenode1: nullable AType = new AType.init_atype(
                                                tkwnullablenode2,
                                                tclassidnode3,
-                                               listnode5,
-                                               pannotationsnode6
+                                               tobranode4,
+                                               listnode6,
+                                               tcbranode7,
+                                               pannotationsnode8
                                        )
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction153
+private class ReduceAction150
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5299,7 +4948,7 @@ private class ReduceAction153
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction154
+private class ReduceAction151
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5318,7 +4967,7 @@ private class ReduceAction154
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction155
+private class ReduceAction152
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5331,7 +4980,7 @@ private class ReduceAction155
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction159
+private class ReduceAction156
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5343,7 +4992,7 @@ private class ReduceAction159
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction160
+private class ReduceAction157
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5361,7 +5010,7 @@ private class ReduceAction160
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction161
+private class ReduceAction158
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5378,7 +5027,7 @@ private class ReduceAction161
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction162
+private class ReduceAction159
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5389,7 +5038,7 @@ private class ReduceAction162
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction163
+private class ReduceAction160
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5409,7 +5058,7 @@ private class ReduceAction163
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction164
+private class ReduceAction161
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5433,7 +5082,7 @@ private class ReduceAction164
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction165
+private class ReduceAction162
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5454,7 +5103,7 @@ private class ReduceAction165
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction166
+private class ReduceAction163
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5479,7 +5128,7 @@ private class ReduceAction166
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction167
+private class ReduceAction164
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5503,7 +5152,7 @@ private class ReduceAction167
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction168
+private class ReduceAction165
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5531,7 +5180,7 @@ private class ReduceAction168
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction172
+private class ReduceAction169
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5547,7 +5196,7 @@ private class ReduceAction172
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction173
+private class ReduceAction170
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5566,7 +5215,7 @@ private class ReduceAction173
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction174
+private class ReduceAction171
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5582,7 +5231,7 @@ private class ReduceAction174
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction175
+private class ReduceAction172
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5601,7 +5250,7 @@ private class ReduceAction175
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction176
+private class ReduceAction173
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5616,7 +5265,7 @@ private class ReduceAction176
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction177
+private class ReduceAction174
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5632,7 +5281,7 @@ private class ReduceAction177
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction178
+private class ReduceAction175
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5651,7 +5300,7 @@ private class ReduceAction178
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction185
+private class ReduceAction183
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5676,7 +5325,7 @@ private class ReduceAction185
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction186
+private class ReduceAction184
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5702,7 +5351,7 @@ private class ReduceAction186
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction187
+private class ReduceAction185
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5729,7 +5378,7 @@ private class ReduceAction187
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction189
+private class ReduceAction187
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5750,7 +5399,7 @@ private class ReduceAction189
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction190
+private class ReduceAction188
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5772,7 +5421,7 @@ private class ReduceAction190
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction191
+private class ReduceAction189
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5795,7 +5444,7 @@ private class ReduceAction191
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction193
+private class ReduceAction191
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5818,7 +5467,7 @@ private class ReduceAction193
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction194
+private class ReduceAction192
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5843,7 +5492,7 @@ private class ReduceAction194
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction195
+private class ReduceAction193
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5864,7 +5513,7 @@ private class ReduceAction195
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction196
+private class ReduceAction194
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5890,7 +5539,7 @@ private class ReduceAction196
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction197
+private class ReduceAction195
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5917,7 +5566,7 @@ private class ReduceAction197
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction199
+private class ReduceAction197
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5939,7 +5588,7 @@ private class ReduceAction199
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction200
+private class ReduceAction198
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5962,7 +5611,7 @@ private class ReduceAction200
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction202
+private class ReduceAction200
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5990,7 +5639,7 @@ private class ReduceAction202
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction203
+private class ReduceAction201
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6006,7 +5655,7 @@ private class ReduceAction203
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction204
+private class ReduceAction202
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6025,7 +5674,7 @@ private class ReduceAction204
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction205
+private class ReduceAction203
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6051,7 +5700,7 @@ private class ReduceAction205
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction206
+private class ReduceAction204
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6080,7 +5729,7 @@ private class ReduceAction206
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction207
+private class ReduceAction205
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6113,7 +5762,7 @@ private class ReduceAction207
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction208
+private class ReduceAction206
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6149,7 +5798,7 @@ private class ReduceAction208
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction209
+private class ReduceAction207
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6179,7 +5828,7 @@ private class ReduceAction209
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction210
+private class ReduceAction208
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6205,7 +5854,7 @@ private class ReduceAction210
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction211
+private class ReduceAction209
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6238,7 +5887,7 @@ private class ReduceAction211
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction212
+private class ReduceAction210
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6272,7 +5921,7 @@ private class ReduceAction212
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction213
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6306,7 +5955,7 @@ private class ReduceAction213
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction214
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6341,7 +5990,7 @@ private class ReduceAction214
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction215
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6376,7 +6025,7 @@ private class ReduceAction215
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction216
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6412,7 +6061,7 @@ private class ReduceAction216
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction219
+private class ReduceAction217
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6441,7 +6090,7 @@ private class ReduceAction219
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction220
+private class ReduceAction218
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6471,7 +6120,7 @@ private class ReduceAction220
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction221
+private class ReduceAction219
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6501,7 +6150,7 @@ private class ReduceAction221
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction222
+private class ReduceAction220
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6532,7 +6181,7 @@ private class ReduceAction222
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction223
+private class ReduceAction221
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6563,7 +6212,7 @@ private class ReduceAction223
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction224
+private class ReduceAction222
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6595,7 +6244,7 @@ private class ReduceAction224
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction227
+private class ReduceAction225
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6622,7 +6271,7 @@ private class ReduceAction227
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction228
+private class ReduceAction226
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6652,7 +6301,7 @@ private class ReduceAction228
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction229
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6678,7 +6327,7 @@ private class ReduceAction229
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction230
+private class ReduceAction228
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6711,7 +6360,7 @@ private class ReduceAction230
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction231
+private class ReduceAction229
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6745,7 +6394,7 @@ private class ReduceAction231
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction232
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6779,7 +6428,7 @@ private class ReduceAction232
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction233
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6814,7 +6463,7 @@ private class ReduceAction233
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction234
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6849,7 +6498,7 @@ private class ReduceAction234
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction235
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6885,7 +6534,7 @@ private class ReduceAction235
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction238
+private class ReduceAction236
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6914,7 +6563,7 @@ private class ReduceAction238
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction237
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6944,7 +6593,7 @@ private class ReduceAction239
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction240
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6974,7 +6623,7 @@ private class ReduceAction240
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction241
+private class ReduceAction239
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7005,7 +6654,7 @@ private class ReduceAction241
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction242
+private class ReduceAction240
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7036,7 +6685,7 @@ private class ReduceAction242
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction243
+private class ReduceAction241
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7068,7 +6717,7 @@ private class ReduceAction243
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction246
+private class ReduceAction244
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7095,7 +6744,7 @@ private class ReduceAction246
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction247
+private class ReduceAction245
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7110,7 +6759,7 @@ private class ReduceAction247
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction248
+private class ReduceAction246
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7121,59 +6770,299 @@ private class ReduceAction248
                                        var passignopnode1: nullable AMinusAssignOp = new AMinusAssignOp.init_aminusassignop(
                                                tminuseqnode2
                                        )
-                                       node_list = passignopnode1
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction247
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tstareqnode2 = nodearraylist1
+                                       assert tstareqnode2 isa nullable TStareq
+                                       var passignopnode1: nullable AStarAssignOp = new AStarAssignOp.init_astarassignop(
+                                               tstareqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction248
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tslasheqnode2 = nodearraylist1
+                                       assert tslasheqnode2 isa nullable TSlasheq
+                                       var passignopnode1: nullable ASlashAssignOp = new ASlashAssignOp.init_aslashassignop(
+                                               tslasheqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction249
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpercenteqnode2 = nodearraylist1
+                                       assert tpercenteqnode2 isa nullable TPercenteq
+                                       var passignopnode1: nullable APercentAssignOp = new APercentAssignOp.init_apercentassignop(
+                                               tpercenteqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction250
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tstarstareqnode2 = nodearraylist1
+                                       assert tstarstareqnode2 isa nullable TStarstareq
+                                       var passignopnode1: nullable AStarstarAssignOp = new AStarstarAssignOp.init_astarstarassignop(
+                                               tstarstareqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction251
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tpipeeqnode2 = nodearraylist1
+                                       assert tpipeeqnode2 isa nullable TPipeeq
+                                       var passignopnode1: nullable APipeAssignOp = new APipeAssignOp.init_apipeassignop(
+                                               tpipeeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction252
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tcareteqnode2 = nodearraylist1
+                                       assert tcareteqnode2 isa nullable TCareteq
+                                       var passignopnode1: nullable ACaretAssignOp = new ACaretAssignOp.init_acaretassignop(
+                                               tcareteqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction253
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tampeqnode2 = nodearraylist1
+                                       assert tampeqnode2 isa nullable TAmpeq
+                                       var passignopnode1: nullable AAmpAssignOp = new AAmpAssignOp.init_aampassignop(
+                                               tampeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction254
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tlleqnode2 = nodearraylist1
+                                       assert tlleqnode2 isa nullable TLleq
+                                       var passignopnode1: nullable ALlAssignOp = new ALlAssignOp.init_allassignop(
+                                               tlleqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction255
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tggeqnode2 = nodearraylist1
+                                       assert tggeqnode2 isa nullable TGgeq
+                                       var passignopnode1: nullable AGgAssignOp = new AGgAssignOp.init_aggassignop(
+                                               tggeqnode2
+                                       )
+                                       node_list = passignopnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction256
+       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 tkwdonode2 = nodearraylist1
+                                       assert tkwdonode2 isa nullable TKwdo
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var plabelnode4 = nodearraylist3
+                                       assert plabelnode4 isa nullable ALabel
+                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
+                                               tkwdonode2,
+                                               pexprnode3,
+                                               plabelnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction257
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwdonode2 = nodearraylist1
+                                       assert tkwdonode2 isa nullable TKwdo
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
+                                               tkwdonode2,
+                                               pexprnode3,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction258
+       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 tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode6 = nodearraylist7
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
+                                               pexprnode3,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction249
+private class ReduceAction259
        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 tkwdonode2 = nodearraylist1
-                                       assert tkwdonode2 isa nullable TKwdo
-                                       var pexprnode3 = nodearraylist2
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var plabelnode4 = nodearraylist3
-                                       assert plabelnode4 isa nullable ALabel
-                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
-                                               tkwdonode2,
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
                                                pexprnode3,
-                                               plabelnode4
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction250
+private class ReduceAction260
        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 tkwdonode2 = nodearraylist1
-                                       assert tkwdonode2 isa nullable TKwdo
-                                       var pexprnode3 = nodearraylist2
+                                       var tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
-                                               tkwdonode2,
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode6 = nodearraylist8
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist9
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
                                                pexprnode3,
-                                               null
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction251
+private class ReduceAction261
        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
@@ -7185,25 +7074,31 @@ private class ReduceAction251
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var tkwelsenode6 = nodearraylist6
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction252
+private class ReduceAction262
        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
@@ -7214,19 +7109,25 @@ private class ReduceAction252
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var tkwelsenode6 = nodearraylist7
+                                       assert tkwelsenode6 isa nullable TKwelse
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               null
+                                               tkwthennode4,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction253
+private class ReduceAction263
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7243,21 +7144,25 @@ private class ReduceAction253
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist8
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
                                        assert pexprnode5 isa nullable AExpr
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction254
+private class ReduceAction264
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7272,19 +7177,23 @@ private class ReduceAction254
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode7 = nodearraylist6
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
+                                               tkwthennode4,
                                                null,
-                                               pexprnode5
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction255
+private class ReduceAction265
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7300,19 +7209,23 @@ private class ReduceAction255
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
+                                               tkwthennode4,
                                                null,
-                                               pexprnode5
+                                               null,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction258
+private class ReduceAction267
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7335,7 +7248,7 @@ private class ReduceAction258
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction259
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7355,7 +7268,157 @@ private class ReduceAction259
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction260
+private class ReduceAction269
+       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 tkwwhilenode2 = nodearraylist1
+                                       assert tkwwhilenode2 isa nullable TKwwhile
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwdonode4 = nodearraylist5
+                                       assert tkwdonode4 isa nullable TKwdo
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var plabelnode6 = nodearraylist7
+                                       assert plabelnode6 isa nullable ALabel
+                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
+                                               tkwwhilenode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               plabelnode6
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction270
+       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 tkwwhilenode2 = nodearraylist1
+                                       assert tkwwhilenode2 isa nullable TKwwhile
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwdonode4 = nodearraylist5
+                                       assert tkwdonode4 isa nullable TKwdo
+                                       var pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
+                                               tkwwhilenode2,
+                                               pexprnode3,
+                                               tkwdonode4,
+                                               pexprnode5,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction271
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist11 = p.pop
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tkwinnode5 = nodearraylist5
+                                       assert tkwinnode5 isa nullable TKwin
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
+                                       var tkwdonode7 = nodearraylist9
+                                       assert tkwdonode7 isa nullable TKwdo
+                                       var pexprnode8 = nodearraylist10
+                                       assert pexprnode8 isa nullable AExpr
+                                       var plabelnode9 = nodearraylist11
+                                       assert plabelnode9 isa nullable ALabel
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               tkwinnode5,
+                                               pexprnode6,
+                                               tkwdonode7,
+                                               pexprnode8,
+                                               plabelnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction272
+       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 listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var tkwinnode5 = nodearraylist5
+                                       assert tkwinnode5 isa nullable TKwin
+                                       var pexprnode6 = nodearraylist7
+                                       assert pexprnode6 isa nullable AExpr
+                                       var tkwdonode7 = nodearraylist9
+                                       assert tkwdonode7 isa nullable TKwdo
+                                       var pexprnode8 = nodearraylist10
+                                       assert pexprnode8 isa nullable AExpr
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               tkwinnode5,
+                                               pexprnode6,
+                                               tkwdonode7,
+                                               pexprnode8,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction273
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7367,8 +7430,8 @@ private class ReduceAction260
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwwhilenode2 = nodearraylist1
-                                       assert tkwwhilenode2 isa nullable TKwwhile
+                                       var tkwwithnode2 = nodearraylist1
+                                       assert tkwwithnode2 isa nullable TKwwith
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
@@ -7377,8 +7440,8 @@ private class ReduceAction260
                                        assert pexprnode5 isa nullable AExpr
                                        var plabelnode6 = nodearraylist7
                                        assert plabelnode6 isa nullable ALabel
-                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
-                                               tkwwhilenode2,
+                                       var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
+                                               tkwwithnode2,
                                                pexprnode3,
                                                tkwdonode4,
                                                pexprnode5,
@@ -7388,7 +7451,7 @@ private class ReduceAction260
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction261
+private class ReduceAction274
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7399,16 +7462,16 @@ private class ReduceAction261
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwwhilenode2 = nodearraylist1
-                                       assert tkwwhilenode2 isa nullable TKwwhile
+                                       var tkwwithnode2 = nodearraylist1
+                                       assert tkwwithnode2 isa nullable TKwwith
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
                                        assert pexprnode5 isa nullable AExpr
-                                       var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
-                                               tkwwhilenode2,
+                                       var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
+                                               tkwwithnode2,
                                                pexprnode3,
                                                tkwdonode4,
                                                pexprnode5,
@@ -7418,88 +7481,70 @@ private class ReduceAction261
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction262
+private class ReduceAction275
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
-                                       var tkwfornode2 = nodearraylist1
-                                       assert tkwfornode2 isa nullable TKwfor
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
-                                       var tkwdonode6 = nodearraylist9
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist11
-                                       assert plabelnode8 isa nullable ALabel
-                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
-                                               tkwfornode2,
-                                               listnode4,
-                                               pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               plabelnode8
+                                       var tidnode3 = nodearraylist1
+                                       assert tidnode3 isa nullable TId
+                                       var ptypenode4 = nodearraylist2
+                                       assert ptypenode4 isa nullable AType
+                                       var tassignnode5 = nodearraylist3
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist5
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
+                                               null,
+                                               tidnode3,
+                                               ptypenode4,
+                                               tassignnode5,
+                                               pexprnode6,
+                                               null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction263
+private class ReduceAction276
        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 listnode4 = new Array[Object]
-                                       var tkwfornode2 = nodearraylist1
-                                       assert tkwfornode2 isa nullable TKwfor
-                                       var listnode3 = nodearraylist3
-                                       assert listnode3 isa Array[Object]
-                                       listnode4 = concat(listnode4, listnode3)
-                                       var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable AExpr
-                                       var tkwdonode6 = nodearraylist9
-                                       assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist10
-                                       assert pexprnode7 isa nullable AExpr
-                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
-                                               tkwfornode2,
-                                               listnode4,
-                                               pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               null
+                                       var tidnode3 = nodearraylist1
+                                       assert tidnode3 isa nullable TId
+                                       var ptypenode4 = nodearraylist3
+                                       assert ptypenode4 isa nullable AType
+                                       var tassignnode5 = nodearraylist4
+                                       assert tassignnode5 isa nullable TAssign
+                                       var pexprnode6 = nodearraylist6
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pannotationsnode7 = nodearraylist2
+                                       assert pannotationsnode7 isa nullable AAnnotations
+                                       var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
+                                               null,
+                                               tidnode3,
+                                               ptypenode4,
+                                               tassignnode5,
+                                               pexprnode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction264
+private class ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7512,19 +7557,22 @@ private class ReduceAction264
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
                                        assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist4
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode5 = nodearraylist3
+                                       assert tkwelsenode5 isa nullable TKwelse
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
                                                pexprnode4,
-                                               pexprnode5
+                                               tkwelsenode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction265
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7540,19 +7588,22 @@ private class ReduceAction265
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
                                        assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist5
-                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwelsenode5 = nodearraylist4
+                                       assert tkwelsenode5 isa nullable TKwelse
+                                       var pexprnode6 = nodearraylist5
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
                                                pexprnode4,
-                                               pexprnode5
+                                               tkwelsenode5,
+                                               pexprnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction266
+private class ReduceAction280
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7567,13 +7618,14 @@ private class ReduceAction266
                                                tkwassertnode2,
                                                null,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction267
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7591,13 +7643,14 @@ private class ReduceAction267
                                                tkwassertnode2,
                                                tidnode3,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction268
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7609,7 +7662,7 @@ private class ReduceAction268
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction270
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7649,7 +7702,7 @@ private class ReduceAction270
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction272
+private class ReduceAction286
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7660,17 +7713,20 @@ private class ReduceAction272
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwornode3 = nodearraylist2
+                                       assert tkwornode3 isa nullable TKwor
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwornode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction273
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7681,17 +7737,20 @@ private class ReduceAction273
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwandnode3 = nodearraylist2
+                                       assert tkwandnode3 isa nullable TKwand
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwandnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction274
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7703,17 +7762,23 @@ private class ReduceAction274
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist5
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwornode3 = nodearraylist2
+                                       assert tkwornode3 isa nullable TKwor
+                                       var tkwelsenode4 = nodearraylist3
+                                       assert tkwelsenode4 isa nullable TKwelse
+                                       var pexprnode5 = nodearraylist5
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AOrElseExpr = new AOrElseExpr.init_aorelseexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwornode3,
+                                               tkwelsenode4,
+                                               pexprnode5
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction275
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7724,17 +7789,20 @@ private class ReduceAction275
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwimpliesnode3 = nodearraylist2
+                                       assert tkwimpliesnode3 isa nullable TKwimplies
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AImpliesExpr = new AImpliesExpr.init_aimpliesexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tkwimpliesnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction277
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7754,7 +7822,7 @@ private class ReduceAction277
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction279
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7765,17 +7833,20 @@ private class ReduceAction279
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var teqnode3 = nodearraylist2
+                                       assert teqnode3 isa nullable TEq
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               teqnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction280
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7786,17 +7857,20 @@ private class ReduceAction280
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tnenode3 = nodearraylist2
+                                       assert tnenode3 isa nullable TNe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tnenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction281
+private class ReduceAction295
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7807,17 +7881,140 @@ private class ReduceAction281
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tltnode3 = nodearraylist2
+                                       assert tltnode3 isa nullable TLt
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tltnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction296
+       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 tlenode3 = nodearraylist2
+                                       assert tlenode3 isa nullable TLe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
+                                               pexprnode2,
+                                               tlenode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction297
+       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 tgtnode3 = nodearraylist2
+                                       assert tgtnode3 isa nullable TGt
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
+                                               pexprnode2,
+                                               tgtnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction298
+       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 tgenode3 = nodearraylist2
+                                       assert tgenode3 isa nullable TGe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
+                                               pexprnode2,
+                                               tgenode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction299
+       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 tstarshipnode3 = nodearraylist2
+                                       assert tstarshipnode3 isa nullable TStarship
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
+                                               pexprnode2,
+                                               tstarshipnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction300
+       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 tkwisanode3 = nodearraylist2
+                                       assert tkwisanode3 isa nullable TKwisa
+                                       var ptypenode4 = nodearraylist4
+                                       assert ptypenode4 isa nullable AType
+                                       var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
+                                               pexprnode2,
+                                               tkwisanode3,
+                                               ptypenode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction282
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7828,17 +8025,20 @@ private class ReduceAction282
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
+                                       var tpipenode3 = nodearraylist2
+                                       assert tpipenode3 isa nullable TPipe
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable APipeExpr = new APipeExpr.init_apipeexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tpipenode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction283
+private class ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7849,17 +8049,20 @@ private class ReduceAction283
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
+                                       var tcaretnode3 = nodearraylist2
+                                       assert tcaretnode3 isa nullable TCaret
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ACaretExpr = new ACaretExpr.init_acaretexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tcaretnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction284
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7870,17 +8073,20 @@ private class ReduceAction284
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
+                                       var tampnode3 = nodearraylist2
+                                       assert tampnode3 isa nullable TAmp
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AAmpExpr = new AAmpExpr.init_aampexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tampnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction285
+private class ReduceAction308
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7891,17 +8097,20 @@ private class ReduceAction285
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
+                                       var tllnode3 = nodearraylist2
+                                       assert tllnode3 isa nullable TLl
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tllnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction286
+private class ReduceAction309
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7912,17 +8121,20 @@ private class ReduceAction286
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
+                                       var tggnode3 = nodearraylist2
+                                       assert tggnode3 isa nullable TGg
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tggnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction287
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7933,17 +8145,20 @@ private class ReduceAction287
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
+                                       var tplusnode3 = nodearraylist2
+                                       assert tplusnode3 isa nullable TPlus
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tplusnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction288
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7954,17 +8169,20 @@ private class ReduceAction288
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable AType
-                                       var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
+                                       var tminusnode3 = nodearraylist2
+                                       assert tminusnode3 isa nullable TMinus
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
-                                               ptypenode3
+                                               tminusnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction290
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7975,17 +8193,20 @@ private class ReduceAction290
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
+                                       var tstarnode3 = nodearraylist2
+                                       assert tstarnode3 isa nullable TStar
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tstarnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction291
+private class ReduceAction315
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7996,17 +8217,20 @@ private class ReduceAction291
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
+                                       var tslashnode3 = nodearraylist2
+                                       assert tslashnode3 isa nullable TSlash
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tslashnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction293
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8017,17 +8241,20 @@ private class ReduceAction293
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
+                                       var tpercentnode3 = nodearraylist2
+                                       assert tpercentnode3 isa nullable TPercent
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tpercentnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction294
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8038,78 +8265,77 @@ private class ReduceAction294
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
+                                       var tstarstarnode3 = nodearraylist2
+                                       assert tstarstarnode3 isa nullable TStarstar
+                                       var pexprnode4 = nodearraylist4
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable AStarstarExpr = new AStarstarExpr.init_astarstarexpr(
                                                pexprnode2,
-                                               pexprnode3
+                                               tstarstarnode3,
+                                               pexprnode4
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction295
+private class ReduceAction320
        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 tminusnode2 = nodearraylist1
+                                       assert tminusnode2 isa nullable TMinus
+                                       var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
-                                               pexprnode2,
+                                       var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
+                                               tminusnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction297
+private class ReduceAction321
        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 tplusnode2 = nodearraylist1
+                                       assert tplusnode2 isa nullable TPlus
+                                       var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AStarstarExpr = new AStarstarExpr.init_astarstarexpr(
-                                               pexprnode2,
+                                       var pexprnode1: nullable AUplusExpr = new AUplusExpr.init_auplusexpr(
+                                               tplusnode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction299
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tminusnode2 = nodearraylist1
-                                       assert tminusnode2 isa nullable TMinus
+                                       var ttildenode2 = nodearraylist1
+                                       assert ttildenode2 isa nullable TTilde
                                        var pexprnode3 = nodearraylist2
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
-                                               tminusnode2,
+                                       var pexprnode1: nullable AUtildeExpr = new AUtildeExpr.init_autildeexpr(
+                                               ttildenode2,
                                                pexprnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction300
+private class ReduceAction323
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8129,7 +8355,7 @@ private class ReduceAction300
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction302
+private class ReduceAction325
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8154,7 +8380,7 @@ private class ReduceAction302
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction303
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8180,7 +8406,7 @@ private class ReduceAction303
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction304
+private class ReduceAction327
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8206,7 +8432,7 @@ private class ReduceAction304
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction305
+private class ReduceAction328
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8228,7 +8454,7 @@ private class ReduceAction305
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction307
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8250,7 +8476,7 @@ private class ReduceAction307
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction308
+private class ReduceAction331
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8268,7 +8494,7 @@ private class ReduceAction308
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction310
+private class ReduceAction333
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8294,7 +8520,7 @@ private class ReduceAction310
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction312
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8321,7 +8547,7 @@ private class ReduceAction312
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction314
+private class ReduceAction337
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8349,7 +8575,7 @@ private class ReduceAction314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction318
+private class ReduceAction341
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8371,7 +8597,7 @@ private class ReduceAction318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction320
+private class ReduceAction343
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8394,7 +8620,7 @@ private class ReduceAction320
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction322
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8418,7 +8644,7 @@ private class ReduceAction322
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction326
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8442,7 +8668,7 @@ private class ReduceAction326
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction328
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8468,7 +8694,7 @@ private class ReduceAction328
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction330
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8490,7 +8716,7 @@ private class ReduceAction330
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction331
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8509,7 +8735,7 @@ private class ReduceAction331
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction332
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8539,7 +8765,7 @@ private class ReduceAction332
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction333
+private class ReduceAction356
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8570,7 +8796,7 @@ private class ReduceAction333
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction334
+private class ReduceAction357
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8601,7 +8827,7 @@ private class ReduceAction334
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction335
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8633,7 +8859,7 @@ private class ReduceAction335
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction336
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8665,7 +8891,7 @@ private class ReduceAction336
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction337
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8698,7 +8924,7 @@ private class ReduceAction337
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction340
+private class ReduceAction363
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8734,7 +8960,7 @@ private class ReduceAction340
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction341
+private class ReduceAction364
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8775,7 +9001,7 @@ private class ReduceAction341
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction342
+private class ReduceAction365
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8808,140 +9034,277 @@ private class ReduceAction342
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction343
+private class ReduceAction367
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tdotdotdotnode3 = nodearraylist2
+                                       assert tdotdotdotnode3 isa nullable TDotdotdot
+                                       var pexprnode1: nullable AVarargExpr = new AVarargExpr.init_avarargexpr(
+                                               pexprnode2,
+                                               tdotdotdotnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction368
+       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 = nodearraylist1
+                                       assert tidnode2 isa nullable TId
+                                       var tassignnode3 = nodearraylist2
+                                       assert tassignnode3 isa nullable TAssign
+                                       var pexprnode4 = nodearraylist3
+                                       assert pexprnode4 isa nullable AExpr
+                                       var pexprnode1: nullable ANamedargExpr = new ANamedargExpr.init_anamedargexpr(
+                                               tidnode2,
+                                               tassignnode3,
+                                               pexprnode4
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction369
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwselfnode2 = nodearraylist1
+                                       assert tkwselfnode2 isa nullable TKwself
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr(
+                                               tkwselfnode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction370
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwtruenode2 = nodearraylist1
+                                       assert tkwtruenode2 isa nullable TKwtrue
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr(
+                                               tkwtruenode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction371
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwfalsenode2 = nodearraylist1
+                                       assert tkwfalsenode2 isa nullable TKwfalse
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr(
+                                               tkwfalsenode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction372
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwnullnode2 = nodearraylist1
+                                       assert tkwnullnode2 isa nullable TKwnull
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr(
+                                               tkwnullnode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction373
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tnumbernode2 = nodearraylist1
+                                       assert tnumbernode2 isa nullable TNumber
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable ADecIntExpr = new ADecIntExpr.init_adecintexpr(
+                                               tnumbernode2,
+                                               pannotationsnode3
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction374
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tdotdotdotnode3 = nodearraylist2
-                                       assert tdotdotdotnode3 isa nullable TDotdotdot
-                                       var pexprnode1: nullable AVarargExpr = new AVarargExpr.init_avarargexpr(
-                                               pexprnode2,
-                                               tdotdotdotnode3
+                                       var thexnumbernode2 = nodearraylist1
+                                       assert thexnumbernode2 isa nullable THexNumber
+                                       var pannotationsnode3 = nodearraylist2
+                                       assert pannotationsnode3 isa nullable AAnnotations
+                                       var pexprnode1: nullable AHexIntExpr = new AHexIntExpr.init_ahexintexpr(
+                                               thexnumbernode2,
+                                               pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction344
+private class ReduceAction375
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwselfnode2 = nodearraylist1
-                                       assert tkwselfnode2 isa nullable TKwself
+                                       var tbinnumbernode2 = nodearraylist1
+                                       assert tbinnumbernode2 isa nullable TBinNumber
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr(
-                                               tkwselfnode2,
+                                       var pexprnode1: nullable ABinIntExpr = new ABinIntExpr.init_abinintexpr(
+                                               tbinnumbernode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction345
+private class ReduceAction376
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwtruenode2 = nodearraylist1
-                                       assert tkwtruenode2 isa nullable TKwtrue
+                                       var toctnumbernode2 = nodearraylist1
+                                       assert toctnumbernode2 isa nullable TOctNumber
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr(
-                                               tkwtruenode2,
+                                       var pexprnode1: nullable AOctIntExpr = new AOctIntExpr.init_aoctintexpr(
+                                               toctnumbernode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction346
+private class ReduceAction377
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwfalsenode2 = nodearraylist1
-                                       assert tkwfalsenode2 isa nullable TKwfalse
+                                       var tbytenumnode2 = nodearraylist1
+                                       assert tbytenumnode2 isa nullable TBytenum
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr(
-                                               tkwfalsenode2,
+                                       var pexprnode1: nullable ADecByteExpr = new ADecByteExpr.init_adecbyteexpr(
+                                               tbytenumnode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction347
+private class ReduceAction378
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwnullnode2 = nodearraylist1
-                                       assert tkwnullnode2 isa nullable TKwnull
+                                       var thexbytenumnode2 = nodearraylist1
+                                       assert thexbytenumnode2 isa nullable THexBytenum
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr(
-                                               tkwnullnode2,
+                                       var pexprnode1: nullable AHexByteExpr = new AHexByteExpr.init_ahexbyteexpr(
+                                               thexbytenumnode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction348
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tnumbernode2 = nodearraylist1
-                                       assert tnumbernode2 isa nullable TNumber
+                                       var tbinbytenumnode2 = nodearraylist1
+                                       assert tbinbytenumnode2 isa nullable TBinBytenum
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable ADecIntExpr = new ADecIntExpr.init_adecintexpr(
-                                               tnumbernode2,
+                                       var pexprnode1: nullable ABinByteExpr = new ABinByteExpr.init_abinbyteexpr(
+                                               tbinbytenumnode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction349
+private class ReduceAction380
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var thexnumbernode2 = nodearraylist1
-                                       assert thexnumbernode2 isa nullable THexNumber
+                                       var toctbytenumnode2 = nodearraylist1
+                                       assert toctbytenumnode2 isa nullable TOctBytenum
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable AHexIntExpr = new AHexIntExpr.init_ahexintexpr(
-                                               thexnumbernode2,
+                                       var pexprnode1: nullable AOctByteExpr = new AOctByteExpr.init_aoctbyteexpr(
+                                               toctbytenumnode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction350
+private class ReduceAction381
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8960,7 +9323,7 @@ private class ReduceAction350
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction351
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8979,7 +9342,7 @@ private class ReduceAction351
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction352
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8998,7 +9361,7 @@ private class ReduceAction352
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction355
+private class ReduceAction386
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9017,24 +9380,27 @@ private class ReduceAction355
                                        assert tobranode2 isa nullable TObra
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tcbranode5 = nodearraylist9
-                                       assert tcbranode5 isa nullable TCbra
-                                       var pannotationsnode6 = nodearraylist10
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tdotdotnode4 = nodearraylist5
+                                       assert tdotdotnode4 isa nullable TDotdot
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tcbranode6 = nodearraylist9
+                                       assert tcbranode6 isa nullable TCbra
+                                       var pannotationsnode7 = nodearraylist10
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
                                                tobranode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               tcbranode5,
-                                               pannotationsnode6
+                                               tdotdotnode4,
+                                               pexprnode5,
+                                               tcbranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction356
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9053,24 +9419,27 @@ private class ReduceAction356
                                        assert tobranode2 isa nullable TObra
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tobranode5 = nodearraylist9
-                                       assert tobranode5 isa nullable TObra
-                                       var pannotationsnode6 = nodearraylist10
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var tdotdotnode4 = nodearraylist5
+                                       assert tdotdotnode4 isa nullable TDotdot
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tobranode6 = nodearraylist9
+                                       assert tobranode6 isa nullable TObra
+                                       var pannotationsnode7 = nodearraylist10
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
                                                tobranode2,
                                                pexprnode3,
-                                               pexprnode4,
-                                               tobranode5,
-                                               pannotationsnode6
+                                               tdotdotnode4,
+                                               pexprnode5,
+                                               tobranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction357
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9081,28 +9450,30 @@ private class ReduceAction357
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tobranode2 = nodearraylist1
                                        assert tobranode2 isa nullable TObra
-                                       var pexprsnode3 = nodearraylist3
-                                       assert pexprsnode3 isa nullable AExprs
-                                       var ptypenode4 = nodearraylist4
-                                       assert ptypenode4 isa nullable AType
-                                       var tcbranode5 = nodearraylist5
-                                       assert tcbranode5 isa nullable TCbra
-                                       var pannotationsnode6 = nodearraylist6
-                                       assert pannotationsnode6 isa nullable AAnnotations
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var ptypenode5 = nodearraylist4
+                                       assert ptypenode5 isa nullable AType
+                                       var tcbranode6 = nodearraylist5
+                                       assert tcbranode6 isa nullable TCbra
+                                       var pannotationsnode7 = nodearraylist6
+                                       assert pannotationsnode7 isa nullable AAnnotations
                                        var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr(
                                                tobranode2,
-                                               pexprsnode3,
-                                               ptypenode4,
-                                               tcbranode5,
-                                               pannotationsnode6
+                                               listnode4,
+                                               ptypenode5,
+                                               tcbranode6,
+                                               pannotationsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction358
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9131,7 +9502,7 @@ private class ReduceAction358
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction360
+private class ReduceAction391
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9154,7 +9525,7 @@ private class ReduceAction360
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction361
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9167,7 +9538,85 @@ private class ReduceAction361
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction362
+private class ReduceAction393
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var pexprnode1 = nodearraylist1
+                                       if pexprnode1 != null then
+                                               listnode2.add(pexprnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction394
+       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 pexprnode1 = nodearraylist1
+                                       var listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       if pexprnode1 != null then
+                                               listnode3.add(pexprnode1)
+                                       end
+                                       listnode3 = concat(listnode3, listnode2)
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction396
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode1 = nodearraylist1
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction398
+       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 tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tkwthennode4 = nodearraylist5
+                                       assert tkwthennode4 isa nullable TKwthen
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
+                                               pexprnode3,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction399
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9194,7 +9643,7 @@ private class ReduceAction362
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction363
+private class ReduceAction400
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9225,7 +9674,7 @@ private class ReduceAction363
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction364
+private class ReduceAction401
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9247,7 +9696,7 @@ private class ReduceAction364
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction365
+private class ReduceAction402
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9263,7 +9712,7 @@ private class ReduceAction365
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction366
+private class ReduceAction403
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9278,7 +9727,7 @@ private class ReduceAction366
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction369
+private class ReduceAction406
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9293,7 +9742,7 @@ private class ReduceAction369
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction370
+private class ReduceAction407
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9308,32 +9757,34 @@ private class ReduceAction370
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction371
+private class ReduceAction408
        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 tatnode2 = nodearraylist1
-                                       assert tatnode2 isa nullable TAt
-                                       var pannotationnode4 = nodearraylist2
-                                       assert pannotationnode4 isa nullable AAnnotation
-                                       if pannotationnode4 != null then
-                                               listnode5.add(pannotationnode4)
+                                       var listnode6 = new Array[Object]
+                                       var tatnode3 = nodearraylist1
+                                       assert tatnode3 isa nullable TAt
+                                       var pannotationnode5 = nodearraylist2
+                                       assert pannotationnode5 isa nullable AAnnotation
+                                       if pannotationnode5 != null then
+                                               listnode6.add(pannotationnode5)
                                        end
                                        var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               tatnode2,
                                                null,
-                                               listnode5,
+                                               tatnode3,
+                                               null,
+                                               listnode6,
+                                               null,
                                                null
                                        )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction372
+private class ReduceAction409
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9344,27 +9795,29 @@ private class ReduceAction372
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var tatnode2 = nodearraylist1
-                                       assert tatnode2 isa nullable TAt
-                                       var toparnode3 = nodearraylist2
-                                       assert toparnode3 isa nullable TOpar
-                                       var listnode4 = nodearraylist4
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var tcparnode6 = nodearraylist6
-                                       assert tcparnode6 isa nullable TCpar
+                                       var listnode6 = new Array[Object]
+                                       var tatnode3 = nodearraylist1
+                                       assert tatnode3 isa nullable TAt
+                                       var toparnode4 = nodearraylist2
+                                       assert toparnode4 isa nullable TOpar
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tcparnode7 = nodearraylist6
+                                       assert tcparnode7 isa nullable TCpar
                                        var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               tatnode2,
-                                               toparnode3,
-                                               listnode5,
-                                               tcparnode6
+                                               null,
+                                               tatnode3,
+                                               toparnode4,
+                                               listnode6,
+                                               tcparnode7,
+                                               null
                                        )
                                        node_list = pannotationsnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction373
+private class ReduceAction410
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9375,7 +9828,7 @@ private class ReduceAction373
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction375
+private class ReduceAction412
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9407,7 +9860,7 @@ private class ReduceAction375
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction376
+private class ReduceAction413
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9451,27 +9904,7 @@ private class ReduceAction376
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction377
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode5 = new Array[Object]
-                                       var listnode4 = nodearraylist1
-                                       assert listnode4 isa Array[Object]
-                                       listnode5 = concat(listnode5, listnode4)
-                                       var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
-                                               null,
-                                               null,
-                                               listnode5,
-                                               null
-                                       )
-                                       node_list = pannotationsnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction378
+private class ReduceAction414
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9486,7 +9919,7 @@ private class ReduceAction378
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction379
+private class ReduceAction415
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9505,7 +9938,7 @@ private class ReduceAction379
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction382
+private class ReduceAction418
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9540,7 +9973,7 @@ private class ReduceAction382
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction384
+private class ReduceAction420
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9553,7 +9986,7 @@ private class ReduceAction384
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction386
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9586,7 +10019,7 @@ private class ReduceAction386
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction387
+private class ReduceAction422
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9622,7 +10055,7 @@ private class ReduceAction387
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction388
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9666,7 +10099,7 @@ private class ReduceAction388
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction389
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9713,7 +10146,7 @@ private class ReduceAction389
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction390
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9750,12 +10183,11 @@ private class ReduceAction390
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction391
+private class ReduceAction426
        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 listnode7 = new Array[Object]
@@ -9763,7 +10195,7 @@ private class ReduceAction391
                                        assert pdocnode2 isa nullable ADoc
                                        var patidnode5 = nodearraylist2
                                        assert patidnode5 isa nullable AAtid
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9773,16 +10205,15 @@ private class ReduceAction391
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction392
+private class ReduceAction427
        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
@@ -9793,7 +10224,7 @@ private class ReduceAction392
                                        assert patidnode5 isa nullable AAtid
                                        var pannotationsnode9 = nodearraylist3
                                        assert pannotationsnode9 isa nullable AAnnotations
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9803,16 +10234,15 @@ private class ReduceAction392
                                                null,
                                                pannotationsnode9
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction393
+private class ReduceAction428
        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
@@ -9831,7 +10261,7 @@ private class ReduceAction393
                                        listnode8 = concat(listnode8, listnode7)
                                        var tcparnode9 = nodearraylist6
                                        assert tcparnode9 isa nullable TCpar
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9841,16 +10271,15 @@ private class ReduceAction393
                                                tcparnode9,
                                                null
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction394
+private class ReduceAction429
        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
@@ -9872,7 +10301,7 @@ private class ReduceAction394
                                        assert tcparnode9 isa nullable TCpar
                                        var pannotationsnode10 = nodearraylist7
                                        assert pannotationsnode10 isa nullable AAnnotations
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9882,16 +10311,15 @@ private class ReduceAction394
                                                tcparnode9,
                                                pannotationsnode10
                                        )
-                                       node_list = pannotationnode1
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction395
+private class ReduceAction430
        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
@@ -9903,7 +10331,7 @@ private class ReduceAction395
                                        var listnode7 = nodearraylist3
                                        assert listnode7 isa Array[Object]
                                        listnode8 = concat(listnode8, listnode7)
-                                       var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
+                                       var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
                                                pdocnode2,
                                                null,
                                                null,
@@ -9913,45 +10341,11 @@ private class ReduceAction395
                                                null,
                                                null
                                        )
-                                       node_list = pannotationnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction396
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pexprnode1 = nodearraylist1
-                                       if pexprnode1 != null then
-                                               listnode2.add(pexprnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction397
-       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 pexprnode1 = nodearraylist1
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       if pexprnode1 != null then
-                                               listnode3.add(pexprnode1)
-                                       end
-                                       listnode3 = concat(listnode3, listnode2)
-                                       node_list = listnode3
+                                       node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction399
+private class ReduceAction434
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9966,7 +10360,7 @@ private class ReduceAction399
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction402
+private class ReduceAction437
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9987,7 +10381,7 @@ private class ReduceAction402
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction403
+private class ReduceAction438
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10004,7 +10398,7 @@ private class ReduceAction403
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction404
+private class ReduceAction439
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10019,7 +10413,7 @@ private class ReduceAction404
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction405
+private class ReduceAction440
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10034,7 +10428,7 @@ private class ReduceAction405
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction406
+private class ReduceAction441
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10049,7 +10443,7 @@ private class ReduceAction406
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction407
+private class ReduceAction442
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10064,7 +10458,7 @@ private class ReduceAction407
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction408
+private class ReduceAction443
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10090,7 +10484,7 @@ private class ReduceAction408
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction409
+private class ReduceAction444
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10112,7 +10506,7 @@ private class ReduceAction409
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction411
+private class ReduceAction446
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10131,7 +10525,7 @@ private class ReduceAction411
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction413
+private class ReduceAction448
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10144,7 +10538,7 @@ private class ReduceAction413
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction414
+private class ReduceAction449
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10170,24 +10564,7 @@ private class ReduceAction414
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction415
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode3 = new Array[Object]
-                                       var listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode3
-                                       )
-                                       node_list = pexprsnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction417
+private class ReduceAction451
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10207,7 +10584,7 @@ private class ReduceAction417
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction418
+private class ReduceAction452
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10221,7 +10598,7 @@ private class ReduceAction418
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction419
+private class ReduceAction453
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10239,7 +10616,7 @@ private class ReduceAction419
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction420
+private class ReduceAction454
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10253,7 +10630,7 @@ private class ReduceAction420
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction421
+private class ReduceAction455
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10268,7 +10645,7 @@ private class ReduceAction421
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction422
+private class ReduceAction456
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10289,7 +10666,7 @@ private class ReduceAction422
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction423
+private class ReduceAction457
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10307,7 +10684,7 @@ private class ReduceAction423
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction424
+private class ReduceAction458
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10329,7 +10706,7 @@ private class ReduceAction424
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction425
+private class ReduceAction459
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10351,7 +10728,7 @@ private class ReduceAction425
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction426
+private class ReduceAction460
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10377,7 +10754,7 @@ private class ReduceAction426
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction427
+private class ReduceAction461
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10394,7 +10771,7 @@ private class ReduceAction427
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction428
+private class ReduceAction462
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10415,7 +10792,7 @@ private class ReduceAction428
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction429
+private class ReduceAction463
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10433,7 +10810,7 @@ private class ReduceAction429
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction431
+private class ReduceAction465
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10444,7 +10821,7 @@ private class ReduceAction431
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction432
+private class ReduceAction466
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10456,7 +10833,7 @@ private class ReduceAction432
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction433
+private class ReduceAction467
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10469,7 +10846,7 @@ private class ReduceAction433
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction435
+private class ReduceAction469
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10480,7 +10857,7 @@ private class ReduceAction435
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction436
+private class ReduceAction470
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10492,7 +10869,7 @@ private class ReduceAction436
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction437
+private class ReduceAction471
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10505,7 +10882,7 @@ private class ReduceAction437
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction439
+private class ReduceAction473
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10518,7 +10895,7 @@ private class ReduceAction439
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction440
+private class ReduceAction474
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10531,7 +10908,7 @@ private class ReduceAction440
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction442
+private class ReduceAction476
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10542,7 +10919,7 @@ private class ReduceAction442
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction443
+private class ReduceAction477
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10551,7 +10928,7 @@ private class ReduceAction443
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction445
+private class ReduceAction480
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10568,7 +10945,7 @@ private class ReduceAction445
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction446
+private class ReduceAction481
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10586,39 +10963,98 @@ private class ReduceAction446
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction449
+private class ReduceAction484
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pdocnode1 = nodearraylist1
+                                       node_list = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction486
+       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
+                                       node_list = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction487
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist2
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction450
+private class ReduceAction488
        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 pdocnode1 = nodearraylist3
+                                       node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction451
+private class ReduceAction490
        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 pdocnode1 = nodearraylist4
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction492
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var pdocnode1 = nodearraylist1
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction493
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction496
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction780
+private class ReduceAction871
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10642,7 +11078,7 @@ private class ReduceAction780
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction782
+private class ReduceAction873
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10662,7 +11098,7 @@ private class ReduceAction782
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction783
+private class ReduceAction874
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10685,7 +11121,7 @@ private class ReduceAction783
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction784
+private class ReduceAction875
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10709,7 +11145,7 @@ private class ReduceAction784
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction785
+private class ReduceAction876
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10733,7 +11169,7 @@ private class ReduceAction785
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction786
+private class ReduceAction877
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10758,7 +11194,7 @@ private class ReduceAction786
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction793
+private class ReduceAction884
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10781,7 +11217,7 @@ private class ReduceAction793
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction794
+private class ReduceAction885
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10805,7 +11241,7 @@ private class ReduceAction794
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction817
+private class ReduceAction916
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10818,7 +11254,7 @@ private class ReduceAction817
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction818
+private class ReduceAction917
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10828,7 +11264,7 @@ private class ReduceAction818
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction968
+private class ReduceAction1078
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10843,7 +11279,7 @@ private class ReduceAction968
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction969
+private class ReduceAction1079
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10862,7 +11298,7 @@ private class ReduceAction969
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction970
+private class ReduceAction1080
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10877,7 +11313,7 @@ private class ReduceAction970
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction971
+private class ReduceAction1081
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10896,7 +11332,7 @@ private class ReduceAction971
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction972
+private class ReduceAction1082
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10911,7 +11347,7 @@ private class ReduceAction972
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction973
+private class ReduceAction1083
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10930,22 +11366,7 @@ private class ReduceAction973
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction974
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var psuperclassnode1 = nodearraylist1
-                                       if psuperclassnode1 != null then
-                                               listnode2.add(psuperclassnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction975
+private class ReduceAction1085
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10955,31 +11376,16 @@ private class ReduceAction975
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var psuperclassnode2 = nodearraylist2
+                                       var pformaldefnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if psuperclassnode2 != null then
-                                               listnode3.add(psuperclassnode2)
+                                       if pformaldefnode2 != null then
+                                               listnode3.add(pformaldefnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction976
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var ppropdefnode1 = nodearraylist1
-                                       if ppropdefnode1 != null then
-                                               listnode2.add(ppropdefnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction977
+private class ReduceAction1087
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10998,22 +11404,7 @@ private class ReduceAction977
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction978
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var pformaldefnode1 = nodearraylist1
-                                       if pformaldefnode1 != null then
-                                               listnode2.add(pformaldefnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction979
+private class ReduceAction1089
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11023,16 +11414,16 @@ private class ReduceAction979
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var pformaldefnode2 = nodearraylist2
+                                       var pannotationnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if pformaldefnode2 != null then
-                                               listnode3.add(pformaldefnode2)
+                                       if pannotationnode2 != null then
+                                               listnode3.add(pannotationnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction980
+private class ReduceAction1090
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11047,7 +11438,7 @@ private class ReduceAction980
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction981
+private class ReduceAction1091
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11066,7 +11457,7 @@ private class ReduceAction981
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction982
+private class ReduceAction1092
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11081,7 +11472,7 @@ private class ReduceAction982
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction983
+private class ReduceAction1093
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11100,7 +11491,7 @@ private class ReduceAction983
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction985
+private class ReduceAction1095
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11119,7 +11510,7 @@ private class ReduceAction985
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction987
+private class ReduceAction1097
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11138,7 +11529,7 @@ private class ReduceAction987
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction991
+private class ReduceAction1103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11156,26 +11547,7 @@ private class ReduceAction991
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction993
-       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 pannotationnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if pannotationnode2 != null then
-                                               listnode3.add(pannotationnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1003
+private class ReduceAction1111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11194,7 +11566,7 @@ private class ReduceAction1003
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1004
+private class ReduceAction1112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11209,7 +11581,7 @@ private class ReduceAction1004
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1005
+private class ReduceAction1113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11228,37 +11600,3 @@ private class ReduceAction1005
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1006
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var teolnode1 = nodearraylist1
-                                       if teolnode1 != null then
-                                               listnode2.add(teolnode1)
-                                       end
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction1007
-       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 teolnode2 = nodearraylist2
-                                       listnode3 = concat(listnode3, listnode1)
-                                       if teolnode2 != null then
-                                               listnode3.add(teolnode2)
-                                       end
-                                       node_list = listnode3
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end