online_ide: update to the new API of the loader
[nit.git] / src / parser / parser.nit
index 6d39748..d907890 100644 (file)
@@ -9,1085 +9,1099 @@ 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 ReduceAction22(7),
-                       new ReduceAction29(7),
-                       new ReduceAction30(8),
-                       new ReduceAction31(8),
-                       new ReduceAction32(8),
-                       new ReduceAction33(8),
-                       new ReduceAction34(8),
-                       new ReduceAction35(9),
-                       new ReduceAction36(9),
-                       new ReduceAction37(9),
-                       new ReduceAction38(10),
-                       new ReduceAction39(11),
-                       new ReduceAction40(11),
-                       new ReduceAction41(12),
-                       new ReduceAction42(13),
-                       new ReduceAction43(13),
-                       new ReduceAction44(13),
-                       new ReduceAction45(14),
-                       new ReduceAction46(15),
-                       new ReduceAction47(15),
-                       new ReduceAction48(15),
-                       new ReduceAction49(15),
-                       new ReduceAction50(15),
-                       new ReduceAction51(15),
-                       new ReduceAction52(15),
-                       new ReduceAction53(15),
-                       new ReduceAction54(15),
-                       new ReduceAction55(15),
-                       new ReduceAction56(15),
-                       new ReduceAction57(15),
-                       new ReduceAction58(15),
-                       new ReduceAction59(15),
-                       new ReduceAction60(15),
-                       new ReduceAction61(15),
-                       new ReduceAction62(15),
-                       new ReduceAction63(15),
-                       new ReduceAction64(15),
-                       new ReduceAction65(15),
-                       new ReduceAction66(15),
-                       new ReduceAction67(15),
-                       new ReduceAction68(15),
-                       new ReduceAction69(15),
-                       new ReduceAction70(15),
-                       new ReduceAction71(15),
-                       new ReduceAction72(15),
-                       new ReduceAction72(15),
-                       new ReduceAction74(16),
-                       new ReduceAction75(16),
-                       new ReduceAction22(16),
-                       new ReduceAction74(17),
-                       new ReduceAction78(17),
-                       new ReduceAction79(18),
-                       new ReduceAction80(18),
-                       new ReduceAction81(18),
-                       new ReduceAction82(18),
-                       new ReduceAction83(18),
-                       new ReduceAction84(19),
-                       new ReduceAction85(19),
-                       new ReduceAction86(19),
-                       new ReduceAction87(19),
-                       new ReduceAction88(19),
-                       new ReduceAction89(19),
-                       new ReduceAction90(19),
-                       new ReduceAction91(19),
-                       new ReduceAction92(19),
-                       new ReduceAction93(19),
-                       new ReduceAction94(19),
-                       new ReduceAction95(19),
-                       new ReduceAction96(19),
-                       new ReduceAction97(19),
-                       new ReduceAction98(19),
-                       new ReduceAction99(19),
-                       new ReduceAction100(19),
-                       new ReduceAction101(19),
-                       new ReduceAction102(19),
-                       new ReduceAction103(19),
-                       new ReduceAction104(19),
-                       new ReduceAction105(19),
-                       new ReduceAction106(19),
-                       new ReduceAction107(20),
-                       new ReduceAction108(20),
-                       new ReduceAction109(20),
-                       new ReduceAction110(20),
-                       new ReduceAction111(21),
-                       new ReduceAction112(21),
-                       new ReduceAction37(21),
-                       new ReduceAction114(22),
-                       new ReduceAction115(23),
-                       new ReduceAction116(23),
-                       new ReduceAction117(23),
-                       new ReduceAction118(23),
-                       new ReduceAction119(23),
-                       new ReduceAction120(24),
-                       new ReduceAction121(24),
-                       new ReduceAction22(24),
-                       new ReduceAction123(25),
-                       new ReduceAction124(26),
-                       new ReduceAction124(26),
-                       new ReduceAction126(26),
-                       new ReduceAction127(27),
-                       new ReduceAction128(27),
-                       new ReduceAction129(27),
-                       new ReduceAction130(28),
-                       new ReduceAction131(28),
-                       new ReduceAction132(28),
-                       new ReduceAction133(28),
-                       new ReduceAction134(28),
-                       new ReduceAction135(28),
-                       new ReduceAction22(29),
-                       new ReduceAction137(29),
-                       new ReduceAction138(30),
-                       new ReduceAction139(31),
-                       new ReduceAction140(31),
-                       new ReduceAction141(32),
-                       new ReduceAction22(32),
-                       new ReduceAction143(33),
-                       new ReduceAction144(34),
-                       new ReduceAction145(34),
-                       new ReduceAction146(34),
-                       new ReduceAction147(34),
-                       new ReduceAction148(35),
-                       new ReduceAction149(35),
-                       new ReduceAction150(36),
-                       new ReduceAction150(37),
-                       new ReduceAction150(38),
-                       new ReduceAction22(38),
-                       new ReduceAction154(39),
-                       new ReduceAction155(39),
-                       new ReduceAction156(39),
-                       new ReduceAction157(39),
-                       new ReduceAction158(40),
-                       new ReduceAction159(40),
-                       new ReduceAction160(41),
-                       new ReduceAction161(41),
-                       new ReduceAction162(42),
-                       new ReduceAction163(42),
-                       new ReduceAction154(43),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction167(44),
-                       new ReduceAction168(44),
-                       new ReduceAction169(44),
-                       new ReduceAction170(44),
-                       new ReduceAction171(44),
-                       new ReduceAction172(44),
-                       new ReduceAction173(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction157(44),
-                       new ReduceAction181(44),
-                       new ReduceAction182(44),
-                       new ReduceAction183(44),
-                       new ReduceAction182(44),
-                       new ReduceAction185(44),
-                       new ReduceAction186(44),
-                       new ReduceAction187(44),
-                       new ReduceAction186(44),
-                       new ReduceAction189(44),
-                       new ReduceAction190(44),
-                       new ReduceAction191(44),
-                       new ReduceAction192(44),
-                       new ReduceAction193(44),
-                       new ReduceAction192(44),
-                       new ReduceAction195(44),
-                       new ReduceAction196(44),
-                       new ReduceAction195(44),
-                       new ReduceAction198(44),
-                       new ReduceAction199(45),
-                       new ReduceAction200(45),
-                       new ReduceAction201(46),
-                       new ReduceAction202(46),
-                       new ReduceAction203(46),
-                       new ReduceAction204(46),
-                       new ReduceAction205(47),
-                       new ReduceAction206(47),
-                       new ReduceAction207(47),
-                       new ReduceAction208(47),
-                       new ReduceAction209(47),
-                       new ReduceAction210(47),
-                       new ReduceAction211(47),
-                       new ReduceAction212(47),
-                       new ReduceAction209(47),
-                       new ReduceAction210(47),
-                       new ReduceAction215(47),
-                       new ReduceAction216(47),
-                       new ReduceAction217(47),
-                       new ReduceAction218(47),
-                       new ReduceAction219(47),
-                       new ReduceAction220(47),
-                       new ReduceAction217(47),
-                       new ReduceAction218(47),
-                       new ReduceAction223(47),
-                       new ReduceAction224(47),
-                       new ReduceAction225(47),
-                       new ReduceAction226(47),
-                       new ReduceAction227(47),
-                       new ReduceAction228(47),
-                       new ReduceAction229(47),
-                       new ReduceAction230(47),
-                       new ReduceAction231(47),
-                       new ReduceAction228(47),
-                       new ReduceAction229(47),
-                       new ReduceAction234(47),
-                       new ReduceAction235(47),
-                       new ReduceAction236(47),
-                       new ReduceAction237(47),
-                       new ReduceAction238(47),
-                       new ReduceAction239(47),
-                       new ReduceAction236(47),
-                       new ReduceAction237(47),
-                       new ReduceAction242(47),
-                       new ReduceAction243(48),
-                       new ReduceAction244(48),
-                       new ReduceAction245(48),
-                       new ReduceAction246(48),
-                       new ReduceAction247(48),
-                       new ReduceAction248(48),
-                       new ReduceAction249(48),
-                       new ReduceAction250(48),
-                       new ReduceAction251(48),
-                       new ReduceAction252(48),
-                       new ReduceAction253(48),
-                       new ReduceAction254(49),
-                       new ReduceAction255(49),
-                       new ReduceAction256(50),
-                       new ReduceAction257(50),
-                       new ReduceAction258(50),
-                       new ReduceAction259(50),
-                       new ReduceAction260(50),
-                       new ReduceAction154(51),
-                       new ReduceAction156(51),
-                       new ReduceAction263(52),
-                       new ReduceAction264(52),
-                       new ReduceAction265(53),
-                       new ReduceAction266(53),
-                       new ReduceAction267(54),
-                       new ReduceAction268(54),
-                       new ReduceAction269(55),
-                       new ReduceAction270(55),
-                       new ReduceAction271(56),
-                       new ReduceAction272(56),
-                       new ReduceAction157(56),
-                       new ReduceAction274(57),
-                       new ReduceAction275(57),
-                       new ReduceAction276(57),
-                       new ReduceAction277(57),
-                       new ReduceAction278(58),
-                       new ReduceAction157(59),
-                       new ReduceAction280(59),
-                       new ReduceAction157(60),
-                       new ReduceAction282(60),
-                       new ReduceAction283(60),
-                       new ReduceAction284(60),
-                       new ReduceAction285(60),
-                       new ReduceAction157(61),
-                       new ReduceAction287(61),
-                       new ReduceAction157(62),
-                       new ReduceAction289(62),
-                       new ReduceAction290(62),
-                       new ReduceAction291(62),
-                       new ReduceAction292(62),
-                       new ReduceAction293(62),
-                       new ReduceAction294(62),
-                       new ReduceAction295(62),
-                       new ReduceAction296(62),
-                       new ReduceAction157(63),
-                       new ReduceAction298(63),
-                       new ReduceAction157(64),
-                       new ReduceAction300(64),
-                       new ReduceAction157(65),
-                       new ReduceAction302(65),
-                       new ReduceAction157(66),
-                       new ReduceAction304(66),
-                       new ReduceAction305(66),
-                       new ReduceAction157(67),
-                       new ReduceAction307(67),
-                       new ReduceAction308(67),
-                       new ReduceAction157(68),
-                       new ReduceAction310(68),
-                       new ReduceAction311(68),
-                       new ReduceAction312(68),
-                       new ReduceAction157(69),
-                       new ReduceAction314(69),
-                       new ReduceAction157(70),
-                       new ReduceAction316(70),
-                       new ReduceAction317(70),
-                       new ReduceAction318(70),
-                       new ReduceAction319(70),
-                       new ReduceAction157(71),
-                       new ReduceAction321(71),
-                       new ReduceAction322(71),
-                       new ReduceAction323(71),
-                       new ReduceAction324(71),
-                       new ReduceAction157(72),
-                       new ReduceAction326(72),
-                       new ReduceAction327(72),
-                       new ReduceAction181(72),
-                       new ReduceAction329(72),
-                       new ReduceAction182(72),
-                       new ReduceAction331(72),
-                       new ReduceAction183(72),
-                       new ReduceAction333(72),
-                       new ReduceAction182(72),
-                       new ReduceAction331(72),
-                       new ReduceAction185(72),
-                       new ReduceAction337(72),
-                       new ReduceAction186(72),
-                       new ReduceAction339(72),
-                       new ReduceAction187(72),
-                       new ReduceAction341(72),
-                       new ReduceAction186(72),
-                       new ReduceAction339(72),
-                       new ReduceAction189(72),
-                       new ReduceAction345(72),
-                       new ReduceAction190(72),
-                       new ReduceAction347(72),
-                       new ReduceAction191(72),
-                       new ReduceAction349(72),
-                       new ReduceAction350(72),
-                       new ReduceAction351(72),
-                       new ReduceAction352(72),
-                       new ReduceAction353(72),
-                       new ReduceAction354(72),
-                       new ReduceAction355(72),
-                       new ReduceAction356(72),
-                       new ReduceAction353(72),
-                       new ReduceAction354(72),
-                       new ReduceAction359(72),
-                       new ReduceAction360(72),
-                       new ReduceAction361(72),
-                       new ReduceAction157(73),
-                       new ReduceAction363(73),
-                       new ReduceAction364(73),
-                       new ReduceAction365(74),
-                       new ReduceAction366(74),
-                       new ReduceAction367(74),
-                       new ReduceAction368(74),
-                       new ReduceAction369(74),
-                       new ReduceAction370(74),
-                       new ReduceAction371(74),
-                       new ReduceAction372(74),
-                       new ReduceAction373(74),
-                       new ReduceAction157(74),
-                       new ReduceAction157(74),
-                       new ReduceAction376(74),
-                       new ReduceAction377(74),
-                       new ReduceAction378(74),
-                       new ReduceAction379(75),
-                       new ReduceAction379(75),
-                       new ReduceAction381(76),
-                       new ReduceAction382(77),
-                       new ReduceAction383(78),
-                       new ReduceAction384(78),
-                       new ReduceAction382(79),
-                       new ReduceAction386(80),
-                       new ReduceAction268(80),
-                       new ReduceAction388(80),
-                       new ReduceAction389(81),
-                       new ReduceAction390(81),
-                       new ReduceAction391(82),
-                       new ReduceAction392(82),
-                       new ReduceAction393(83),
-                       new ReduceAction391(84),
-                       new ReduceAction392(84),
-                       new ReduceAction396(85),
-                       new ReduceAction397(86),
-                       new ReduceAction398(87),
-                       new ReduceAction399(87),
-                       new ReduceAction400(88),
-                       new ReduceAction22(88),
-                       new ReduceAction402(89),
-                       new ReduceAction403(89),
-                       new ReduceAction404(90),
-                       new ReduceAction405(91),
-                       new ReduceAction406(91),
-                       new ReduceAction402(92),
-                       new ReduceAction403(92),
-                       new ReduceAction409(92),
-                       new ReduceAction157(93),
-                       new ReduceAction411(94),
-                       new ReduceAction404(95),
-                       new ReduceAction413(96),
-                       new ReduceAction414(96),
-                       new ReduceAction415(96),
-                       new ReduceAction416(96),
-                       new ReduceAction417(96),
-                       new ReduceAction418(97),
-                       new ReduceAction419(97),
-                       new ReduceAction420(97),
-                       new ReduceAction421(97),
-                       new ReduceAction422(97),
-                       new ReduceAction383(98),
-                       new ReduceAction384(98),
-                       new ReduceAction382(99),
-                       new ReduceAction426(100),
-                       new ReduceAction157(100),
-                       new ReduceAction157(100),
-                       new ReduceAction429(100),
-                       new ReduceAction430(100),
-                       new ReduceAction431(100),
-                       new ReduceAction432(101),
-                       new ReduceAction433(101),
-                       new ReduceAction434(101),
-                       new ReduceAction435(102),
-                       new ReduceAction436(102),
-                       new ReduceAction435(103),
-                       new ReduceAction438(103),
-                       new ReduceAction436(103),
-                       new ReduceAction440(103),
-                       new ReduceAction441(104),
-                       new ReduceAction392(105),
-                       new ReduceAction443(105),
-                       new ReduceAction444(106),
-                       new ReduceAction445(107),
-                       new ReduceAction446(107),
-                       new ReduceAction447(108),
-                       new ReduceAction448(108),
-                       new ReduceAction449(109),
-                       new ReduceAction450(109),
-                       new ReduceAction451(109),
-                       new ReduceAction452(109),
-                       new ReduceAction453(110),
-                       new ReduceAction454(110),
-                       new ReduceAction455(110),
-                       new ReduceAction22(110),
-                       new ReduceAction457(111),
-                       new ReduceAction458(111),
-                       new ReduceAction459(111),
-                       new ReduceAction458(111),
-                       new ReduceAction461(112),
-                       new ReduceAction462(112),
-                       new ReduceAction463(112),
-                       new ReduceAction462(112),
-                       new ReduceAction465(113),
-                       new ReduceAction466(114),
-                       new ReduceAction22(115),
-                       new ReduceAction468(115),
-                       new ReduceAction469(116),
-                       new ReduceAction469(116),
-                       new ReduceAction471(117),
-                       new ReduceAction472(117),
-                       new ReduceAction23(117),
-                       new ReduceAction22(118),
-                       new ReduceAction475(118),
-                       new ReduceAction476(119),
-                       new ReduceAction477(119),
-                       new ReduceAction469(119),
-                       new ReduceAction46(120),
-                       new ReduceAction47(120),
-                       new ReduceAction48(120),
-                       new ReduceAction55(120),
-                       new ReduceAction56(120),
-                       new ReduceAction74(121),
-                       new ReduceAction75(121),
-                       new ReduceAction84(122),
-                       new ReduceAction85(122),
-                       new ReduceAction86(122),
-                       new ReduceAction87(122),
-                       new ReduceAction88(122),
-                       new ReduceAction89(122),
-                       new ReduceAction90(122),
-                       new ReduceAction91(122),
-                       new ReduceAction92(122),
-                       new ReduceAction93(122),
-                       new ReduceAction94(122),
-                       new ReduceAction95(122),
-                       new ReduceAction96(122),
-                       new ReduceAction97(122),
-                       new ReduceAction98(122),
-                       new ReduceAction99(122),
-                       new ReduceAction100(122),
-                       new ReduceAction101(122),
-                       new ReduceAction102(122),
-                       new ReduceAction103(122),
-                       new ReduceAction104(122),
-                       new ReduceAction105(122),
-                       new ReduceAction461(123),
-                       new ReduceAction462(123),
-                       new ReduceAction463(123),
-                       new ReduceAction462(123),
-                       new ReduceAction144(124),
-                       new ReduceAction145(124),
-                       new ReduceAction157(125),
-                       new ReduceAction280(125),
-                       new ReduceAction157(126),
-                       new ReduceAction282(126),
-                       new ReduceAction283(126),
-                       new ReduceAction284(126),
-                       new ReduceAction285(126),
-                       new ReduceAction157(127),
-                       new ReduceAction287(127),
-                       new ReduceAction157(128),
-                       new ReduceAction289(128),
-                       new ReduceAction290(128),
-                       new ReduceAction291(128),
-                       new ReduceAction292(128),
-                       new ReduceAction293(128),
-                       new ReduceAction294(128),
-                       new ReduceAction295(128),
-                       new ReduceAction296(128),
-                       new ReduceAction157(129),
-                       new ReduceAction298(129),
-                       new ReduceAction157(130),
-                       new ReduceAction300(130),
-                       new ReduceAction157(131),
-                       new ReduceAction302(131),
-                       new ReduceAction157(132),
-                       new ReduceAction304(132),
-                       new ReduceAction305(132),
-                       new ReduceAction157(133),
-                       new ReduceAction307(133),
-                       new ReduceAction308(133),
-                       new ReduceAction157(134),
-                       new ReduceAction310(134),
-                       new ReduceAction311(134),
-                       new ReduceAction312(134),
-                       new ReduceAction157(135),
-                       new ReduceAction314(135),
-                       new ReduceAction157(136),
-                       new ReduceAction316(136),
-                       new ReduceAction317(136),
-                       new ReduceAction318(136),
-                       new ReduceAction319(136),
-                       new ReduceAction157(137),
-                       new ReduceAction321(137),
-                       new ReduceAction322(137),
-                       new ReduceAction323(137),
-                       new ReduceAction324(137),
-                       new ReduceAction157(138),
-                       new ReduceAction326(138),
-                       new ReduceAction327(138),
-                       new ReduceAction181(138),
-                       new ReduceAction185(138),
-                       new ReduceAction329(138),
-                       new ReduceAction337(138),
-                       new ReduceAction182(138),
-                       new ReduceAction186(138),
-                       new ReduceAction331(138),
-                       new ReduceAction339(138),
-                       new ReduceAction183(138),
-                       new ReduceAction187(138),
-                       new ReduceAction333(138),
-                       new ReduceAction341(138),
-                       new ReduceAction182(138),
-                       new ReduceAction186(138),
-                       new ReduceAction331(138),
-                       new ReduceAction339(138),
-                       new ReduceAction189(138),
-                       new ReduceAction345(138),
-                       new ReduceAction190(138),
-                       new ReduceAction191(138),
-                       new ReduceAction347(138),
-                       new ReduceAction349(138),
-                       new ReduceAction351(138),
-                       new ReduceAction352(138),
-                       new ReduceAction353(138),
-                       new ReduceAction354(138),
-                       new ReduceAction355(138),
-                       new ReduceAction356(138),
-                       new ReduceAction353(138),
-                       new ReduceAction354(138),
-                       new ReduceAction359(138),
-                       new ReduceAction360(138),
-                       new ReduceAction361(138),
-                       new ReduceAction157(139),
-                       new ReduceAction363(139),
-                       new ReduceAction364(139),
-                       new ReduceAction365(140),
-                       new ReduceAction366(140),
-                       new ReduceAction367(140),
-                       new ReduceAction368(140),
-                       new ReduceAction369(140),
-                       new ReduceAction370(140),
-                       new ReduceAction371(140),
-                       new ReduceAction372(140),
-                       new ReduceAction373(140),
-                       new ReduceAction157(140),
-                       new ReduceAction157(140),
-                       new ReduceAction144(141),
-                       new ReduceAction145(141),
-                       new ReduceAction146(141),
-                       new ReduceAction147(141),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction167(142),
-                       new ReduceAction168(142),
-                       new ReduceAction169(142),
-                       new ReduceAction170(142),
-                       new ReduceAction171(142),
-                       new ReduceAction172(142),
-                       new ReduceAction173(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction157(142),
-                       new ReduceAction181(142),
-                       new ReduceAction182(142),
-                       new ReduceAction183(142),
-                       new ReduceAction182(142),
-                       new ReduceAction185(142),
-                       new ReduceAction186(142),
-                       new ReduceAction187(142),
-                       new ReduceAction186(142),
-                       new ReduceAction189(142),
-                       new ReduceAction190(142),
-                       new ReduceAction191(142),
-                       new ReduceAction192(142),
-                       new ReduceAction193(142),
-                       new ReduceAction192(142),
-                       new ReduceAction195(142),
-                       new ReduceAction196(142),
-                       new ReduceAction195(142),
-                       new ReduceAction198(142),
-                       new ReduceAction205(143),
-                       new ReduceAction206(143),
-                       new ReduceAction207(143),
-                       new ReduceAction208(143),
-                       new ReduceAction209(143),
-                       new ReduceAction210(143),
-                       new ReduceAction211(143),
-                       new ReduceAction212(143),
-                       new ReduceAction209(143),
-                       new ReduceAction210(143),
-                       new ReduceAction215(143),
-                       new ReduceAction216(143),
-                       new ReduceAction217(143),
-                       new ReduceAction218(143),
-                       new ReduceAction219(143),
-                       new ReduceAction220(143),
-                       new ReduceAction217(143),
-                       new ReduceAction218(143),
-                       new ReduceAction223(143),
-                       new ReduceAction224(143),
-                       new ReduceAction225(143),
-                       new ReduceAction226(143),
-                       new ReduceAction227(143),
-                       new ReduceAction228(143),
-                       new ReduceAction229(143),
-                       new ReduceAction230(143),
-                       new ReduceAction231(143),
-                       new ReduceAction228(143),
-                       new ReduceAction229(143),
-                       new ReduceAction234(143),
-                       new ReduceAction235(143),
-                       new ReduceAction236(143),
-                       new ReduceAction237(143),
-                       new ReduceAction238(143),
-                       new ReduceAction239(143),
-                       new ReduceAction236(143),
-                       new ReduceAction237(143),
-                       new ReduceAction242(143),
-                       new ReduceAction157(144),
-                       new ReduceAction280(144),
-                       new ReduceAction157(145),
-                       new ReduceAction282(145),
-                       new ReduceAction283(145),
-                       new ReduceAction284(145),
-                       new ReduceAction285(145),
-                       new ReduceAction157(146),
-                       new ReduceAction287(146),
-                       new ReduceAction157(147),
-                       new ReduceAction289(147),
-                       new ReduceAction290(147),
-                       new ReduceAction291(147),
-                       new ReduceAction292(147),
-                       new ReduceAction293(147),
-                       new ReduceAction294(147),
-                       new ReduceAction295(147),
-                       new ReduceAction296(147),
-                       new ReduceAction157(148),
-                       new ReduceAction298(148),
-                       new ReduceAction157(149),
-                       new ReduceAction300(149),
-                       new ReduceAction157(150),
-                       new ReduceAction302(150),
-                       new ReduceAction157(151),
-                       new ReduceAction304(151),
-                       new ReduceAction305(151),
-                       new ReduceAction157(152),
-                       new ReduceAction307(152),
-                       new ReduceAction308(152),
-                       new ReduceAction157(153),
-                       new ReduceAction310(153),
-                       new ReduceAction311(153),
-                       new ReduceAction312(153),
-                       new ReduceAction157(154),
-                       new ReduceAction314(154),
-                       new ReduceAction157(155),
-                       new ReduceAction316(155),
-                       new ReduceAction317(155),
-                       new ReduceAction318(155),
-                       new ReduceAction319(155),
-                       new ReduceAction157(156),
-                       new ReduceAction321(156),
-                       new ReduceAction322(156),
-                       new ReduceAction323(156),
-                       new ReduceAction324(156),
-                       new ReduceAction157(157),
-                       new ReduceAction326(157),
-                       new ReduceAction327(157),
-                       new ReduceAction181(157),
-                       new ReduceAction329(157),
-                       new ReduceAction182(157),
-                       new ReduceAction331(157),
-                       new ReduceAction183(157),
-                       new ReduceAction333(157),
-                       new ReduceAction182(157),
-                       new ReduceAction331(157),
-                       new ReduceAction185(157),
-                       new ReduceAction337(157),
-                       new ReduceAction186(157),
-                       new ReduceAction339(157),
-                       new ReduceAction187(157),
-                       new ReduceAction341(157),
-                       new ReduceAction186(157),
-                       new ReduceAction339(157),
-                       new ReduceAction189(157),
-                       new ReduceAction345(157),
-                       new ReduceAction190(157),
-                       new ReduceAction347(157),
-                       new ReduceAction191(157),
-                       new ReduceAction349(157),
-                       new ReduceAction350(157),
-                       new ReduceAction351(157),
-                       new ReduceAction352(157),
-                       new ReduceAction353(157),
-                       new ReduceAction354(157),
-                       new ReduceAction355(157),
-                       new ReduceAction356(157),
-                       new ReduceAction353(157),
-                       new ReduceAction354(157),
-                       new ReduceAction359(157),
-                       new ReduceAction360(157),
-                       new ReduceAction361(157),
-                       new ReduceAction157(158),
-                       new ReduceAction363(158),
-                       new ReduceAction364(158),
-                       new ReduceAction365(159),
-                       new ReduceAction366(159),
-                       new ReduceAction367(159),
-                       new ReduceAction368(159),
-                       new ReduceAction369(159),
-                       new ReduceAction370(159),
-                       new ReduceAction371(159),
-                       new ReduceAction372(159),
-                       new ReduceAction373(159),
-                       new ReduceAction157(159),
-                       new ReduceAction398(160),
-                       new ReduceAction399(160),
-                       new ReduceAction400(161),
-                       new ReduceAction22(161),
-                       new ReduceAction402(162),
-                       new ReduceAction402(163),
-                       new ReduceAction383(164),
-                       new ReduceAction384(164),
-                       new ReduceAction426(165),
-                       new ReduceAction157(165),
-                       new ReduceAction157(165),
-                       new ReduceAction429(165),
-                       new ReduceAction430(165),
-                       new ReduceAction144(166),
-                       new ReduceAction145(166),
-                       new ReduceAction157(167),
-                       new ReduceAction280(167),
-                       new ReduceAction157(168),
-                       new ReduceAction282(168),
-                       new ReduceAction283(168),
-                       new ReduceAction284(168),
-                       new ReduceAction285(168),
-                       new ReduceAction157(169),
-                       new ReduceAction287(169),
-                       new ReduceAction157(170),
-                       new ReduceAction289(170),
-                       new ReduceAction290(170),
-                       new ReduceAction291(170),
-                       new ReduceAction292(170),
-                       new ReduceAction293(170),
-                       new ReduceAction294(170),
-                       new ReduceAction295(170),
-                       new ReduceAction296(170),
-                       new ReduceAction157(171),
-                       new ReduceAction298(171),
-                       new ReduceAction157(172),
-                       new ReduceAction300(172),
-                       new ReduceAction157(173),
-                       new ReduceAction302(173),
-                       new ReduceAction157(174),
-                       new ReduceAction304(174),
-                       new ReduceAction305(174),
-                       new ReduceAction157(175),
-                       new ReduceAction307(175),
-                       new ReduceAction308(175),
-                       new ReduceAction157(176),
-                       new ReduceAction310(176),
-                       new ReduceAction311(176),
-                       new ReduceAction312(176),
-                       new ReduceAction157(177),
-                       new ReduceAction314(177),
-                       new ReduceAction157(178),
-                       new ReduceAction316(178),
-                       new ReduceAction317(178),
-                       new ReduceAction318(178),
-                       new ReduceAction319(178),
-                       new ReduceAction157(179),
-                       new ReduceAction321(179),
-                       new ReduceAction322(179),
-                       new ReduceAction841(179),
-                       new ReduceAction157(180),
-                       new ReduceAction843(180),
-                       new ReduceAction844(180),
-                       new ReduceAction845(180),
-                       new ReduceAction846(180),
-                       new ReduceAction847(180),
-                       new ReduceAction181(180),
-                       new ReduceAction329(180),
-                       new ReduceAction846(180),
-                       new ReduceAction847(180),
-                       new ReduceAction189(180),
-                       new ReduceAction345(180),
-                       new ReduceAction854(180),
-                       new ReduceAction855(180),
-                       new ReduceAction351(180),
-                       new ReduceAction352(180),
-                       new ReduceAction353(180),
-                       new ReduceAction354(180),
-                       new ReduceAction355(180),
-                       new ReduceAction356(180),
-                       new ReduceAction353(180),
-                       new ReduceAction354(180),
-                       new ReduceAction359(180),
-                       new ReduceAction360(180),
-                       new ReduceAction361(180),
-                       new ReduceAction157(181),
-                       new ReduceAction363(181),
-                       new ReduceAction364(181),
-                       new ReduceAction365(182),
-                       new ReduceAction366(182),
-                       new ReduceAction367(182),
-                       new ReduceAction368(182),
-                       new ReduceAction369(182),
-                       new ReduceAction370(182),
-                       new ReduceAction371(182),
-                       new ReduceAction372(182),
-                       new ReduceAction373(182),
-                       new ReduceAction157(182),
-                       new ReduceAction880(183),
-                       new ReduceAction881(183),
-                       new ReduceAction154(184),
-                       new ReduceAction155(184),
-                       new ReduceAction156(184),
-                       new ReduceAction157(184),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction167(185),
-                       new ReduceAction168(185),
-                       new ReduceAction169(185),
-                       new ReduceAction170(185),
-                       new ReduceAction171(185),
-                       new ReduceAction172(185),
-                       new ReduceAction173(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction157(185),
-                       new ReduceAction181(185),
-                       new ReduceAction182(185),
-                       new ReduceAction183(185),
-                       new ReduceAction182(185),
-                       new ReduceAction185(185),
-                       new ReduceAction186(185),
-                       new ReduceAction187(185),
-                       new ReduceAction186(185),
-                       new ReduceAction189(185),
-                       new ReduceAction190(185),
-                       new ReduceAction191(185),
-                       new ReduceAction192(185),
-                       new ReduceAction193(185),
-                       new ReduceAction192(185),
-                       new ReduceAction195(185),
-                       new ReduceAction196(185),
-                       new ReduceAction195(185),
-                       new ReduceAction198(185),
-                       new ReduceAction254(186),
-                       new ReduceAction255(186),
-                       new ReduceAction256(187),
-                       new ReduceAction263(188),
-                       new ReduceAction264(188),
-                       new ReduceAction265(189),
-                       new ReduceAction266(189),
-                       new ReduceAction267(190),
-                       new ReduceAction268(190),
-                       new ReduceAction269(191),
-                       new ReduceAction270(191),
-                       new ReduceAction274(192),
-                       new ReduceAction275(192),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction167(193),
-                       new ReduceAction168(193),
-                       new ReduceAction169(193),
-                       new ReduceAction170(193),
-                       new ReduceAction171(193),
-                       new ReduceAction172(193),
-                       new ReduceAction173(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction157(193),
-                       new ReduceAction181(193),
-                       new ReduceAction182(193),
-                       new ReduceAction183(193),
-                       new ReduceAction182(193),
-                       new ReduceAction185(193),
-                       new ReduceAction186(193),
-                       new ReduceAction187(193),
-                       new ReduceAction186(193),
-                       new ReduceAction189(193),
-                       new ReduceAction190(193),
-                       new ReduceAction191(193),
-                       new ReduceAction192(193),
-                       new ReduceAction193(193),
-                       new ReduceAction192(193),
-                       new ReduceAction195(193),
-                       new ReduceAction196(193),
-                       new ReduceAction195(193),
-                       new ReduceAction198(193),
-                       new ReduceAction154(194),
-                       new ReduceAction155(194),
-                       new ReduceAction156(194),
-                       new ReduceAction154(195),
-                       new ReduceAction155(195),
-                       new ReduceAction156(195),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction167(196),
-                       new ReduceAction168(196),
-                       new ReduceAction169(196),
-                       new ReduceAction170(196),
-                       new ReduceAction171(196),
-                       new ReduceAction172(196),
-                       new ReduceAction173(196),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction157(196),
-                       new ReduceAction198(196),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction167(197),
-                       new ReduceAction168(197),
-                       new ReduceAction169(197),
-                       new ReduceAction170(197),
-                       new ReduceAction171(197),
-                       new ReduceAction172(197),
-                       new ReduceAction173(197),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction157(197),
-                       new ReduceAction198(197),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction167(198),
-                       new ReduceAction168(198),
-                       new ReduceAction169(198),
-                       new ReduceAction170(198),
-                       new ReduceAction171(198),
-                       new ReduceAction172(198),
-                       new ReduceAction173(198),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction157(198),
-                       new ReduceAction198(198),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction167(199),
-                       new ReduceAction168(199),
-                       new ReduceAction169(199),
-                       new ReduceAction170(199),
-                       new ReduceAction171(199),
-                       new ReduceAction172(199),
-                       new ReduceAction173(199),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction157(199),
-                       new ReduceAction198(199),
-                       new ReduceAction432(200),
-                       new ReduceAction434(200),
-                       new ReduceAction1039(201),
-                       new ReduceAction1040(201),
-                       new ReduceAction1041(202),
-                       new ReduceAction1042(202),
-                       new ReduceAction1043(203),
-                       new ReduceAction1044(203),
-                       new ReduceAction1045(204),
-                       new ReduceAction1046(204),
-                       new ReduceAction43(205),
-                       new ReduceAction1048(205),
-                       new ReduceAction1049(206),
-                       new ReduceAction1050(206),
-                       new ReduceAction1051(207),
-                       new ReduceAction1052(207),
-                       new ReduceAction148(208),
-                       new ReduceAction1054(208),
-                       new ReduceAction383(209),
-                       new ReduceAction1056(209),
-                       new ReduceAction383(210),
-                       new ReduceAction1056(210),
-                       new ReduceAction383(211),
-                       new ReduceAction1056(211),
-                       new ReduceAction446(212),
-                       new ReduceAction1062(212),
-                       new ReduceAction405(213),
-                       new ReduceAction1064(213),
-                       new ReduceAction405(214),
-                       new ReduceAction1064(214),
-                       new ReduceAction383(215),
-                       new ReduceAction1056(215),
-                       new ReduceAction383(216),
-                       new ReduceAction1056(216),
-                       new ReduceAction447(217),
-                       new ReduceAction1072(217),
-                       new ReduceAction1073(218),
-                       new ReduceAction1074(218),
-                       new ReduceAction1075(219),
-                       new ReduceAction1076(219)
-               )
+               var reduce_table = new Array[ReduceAction].with_capacity(1091)
+               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 ReduceAction186(44)
+               reduce_table.add new ReduceAction187(44)
+               reduce_table.add new ReduceAction188(44)
+               reduce_table.add new ReduceAction189(44)
+               reduce_table.add new ReduceAction190(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 ReduceAction215(47)
+               reduce_table.add new ReduceAction216(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 ReduceAction223(47)
+               reduce_table.add new ReduceAction224(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 ReduceAction234(47)
+               reduce_table.add new ReduceAction235(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 ReduceAction242(47)
+               reduce_table.add new ReduceAction243(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(57)
+               reduce_table.add new ReduceAction277(57)
+               reduce_table.add new ReduceAction278(58)
+               reduce_table.add new ReduceAction279(58)
+               reduce_table.add new ReduceAction159(58)
+               reduce_table.add new ReduceAction281(59)
+               reduce_table.add new ReduceAction282(59)
+               reduce_table.add new ReduceAction283(59)
+               reduce_table.add new ReduceAction284(59)
+               reduce_table.add new ReduceAction285(60)
+               reduce_table.add new ReduceAction159(61)
+               reduce_table.add new ReduceAction287(61)
+               reduce_table.add new ReduceAction159(62)
+               reduce_table.add new ReduceAction289(62)
+               reduce_table.add new ReduceAction290(62)
+               reduce_table.add new ReduceAction291(62)
+               reduce_table.add new ReduceAction292(62)
+               reduce_table.add new ReduceAction159(63)
+               reduce_table.add new ReduceAction294(63)
+               reduce_table.add new ReduceAction159(64)
+               reduce_table.add new ReduceAction296(64)
+               reduce_table.add new ReduceAction297(64)
+               reduce_table.add new ReduceAction298(64)
+               reduce_table.add new ReduceAction299(64)
+               reduce_table.add new ReduceAction300(64)
+               reduce_table.add new ReduceAction301(64)
+               reduce_table.add new ReduceAction302(64)
+               reduce_table.add new ReduceAction303(64)
+               reduce_table.add new ReduceAction159(65)
+               reduce_table.add new ReduceAction305(65)
+               reduce_table.add new ReduceAction159(66)
+               reduce_table.add new ReduceAction307(66)
+               reduce_table.add new ReduceAction159(67)
+               reduce_table.add new ReduceAction309(67)
+               reduce_table.add new ReduceAction159(68)
+               reduce_table.add new ReduceAction311(68)
+               reduce_table.add new ReduceAction312(68)
+               reduce_table.add new ReduceAction159(69)
+               reduce_table.add new ReduceAction314(69)
+               reduce_table.add new ReduceAction315(69)
+               reduce_table.add new ReduceAction159(70)
+               reduce_table.add new ReduceAction317(70)
+               reduce_table.add new ReduceAction318(70)
+               reduce_table.add new ReduceAction319(70)
+               reduce_table.add new ReduceAction159(71)
+               reduce_table.add new ReduceAction321(71)
+               reduce_table.add new ReduceAction159(72)
+               reduce_table.add new ReduceAction323(72)
+               reduce_table.add new ReduceAction324(72)
+               reduce_table.add new ReduceAction325(72)
+               reduce_table.add new ReduceAction326(72)
+               reduce_table.add new ReduceAction159(73)
+               reduce_table.add new ReduceAction328(73)
+               reduce_table.add new ReduceAction329(73)
+               reduce_table.add new ReduceAction330(73)
+               reduce_table.add new ReduceAction331(73)
+               reduce_table.add new ReduceAction159(74)
+               reduce_table.add new ReduceAction333(74)
+               reduce_table.add new ReduceAction334(74)
+               reduce_table.add new ReduceAction183(74)
+               reduce_table.add new ReduceAction336(74)
+               reduce_table.add new ReduceAction184(74)
+               reduce_table.add new ReduceAction338(74)
+               reduce_table.add new ReduceAction185(74)
+               reduce_table.add new ReduceAction340(74)
+               reduce_table.add new ReduceAction186(74)
+               reduce_table.add new ReduceAction342(74)
+               reduce_table.add new ReduceAction187(74)
+               reduce_table.add new ReduceAction344(74)
+               reduce_table.add new ReduceAction188(74)
+               reduce_table.add new ReduceAction346(74)
+               reduce_table.add new ReduceAction189(74)
+               reduce_table.add new ReduceAction348(74)
+               reduce_table.add new ReduceAction190(74)
+               reduce_table.add new ReduceAction350(74)
+               reduce_table.add new ReduceAction191(74)
+               reduce_table.add new ReduceAction352(74)
+               reduce_table.add new ReduceAction192(74)
+               reduce_table.add new ReduceAction354(74)
+               reduce_table.add new ReduceAction193(74)
+               reduce_table.add new ReduceAction356(74)
+               reduce_table.add new ReduceAction357(74)
+               reduce_table.add new ReduceAction358(74)
+               reduce_table.add new ReduceAction359(74)
+               reduce_table.add new ReduceAction360(74)
+               reduce_table.add new ReduceAction361(74)
+               reduce_table.add new ReduceAction362(74)
+               reduce_table.add new ReduceAction363(74)
+               reduce_table.add new ReduceAction364(74)
+               reduce_table.add new ReduceAction365(74)
+               reduce_table.add new ReduceAction366(74)
+               reduce_table.add new ReduceAction367(74)
+               reduce_table.add new ReduceAction368(74)
+               reduce_table.add new ReduceAction159(75)
+               reduce_table.add new ReduceAction370(75)
+               reduce_table.add new ReduceAction371(75)
+               reduce_table.add new ReduceAction372(76)
+               reduce_table.add new ReduceAction373(76)
+               reduce_table.add new ReduceAction374(76)
+               reduce_table.add new ReduceAction375(76)
+               reduce_table.add new ReduceAction376(76)
+               reduce_table.add new ReduceAction377(76)
+               reduce_table.add new ReduceAction378(76)
+               reduce_table.add new ReduceAction379(76)
+               reduce_table.add new ReduceAction159(76)
+               reduce_table.add new ReduceAction159(76)
+               reduce_table.add new ReduceAction382(76)
+               reduce_table.add new ReduceAction383(76)
+               reduce_table.add new ReduceAction384(76)
+               reduce_table.add new ReduceAction385(77)
+               reduce_table.add new ReduceAction385(77)
+               reduce_table.add new ReduceAction387(78)
+               reduce_table.add new ReduceAction388(79)
+               reduce_table.add new ReduceAction389(80)
+               reduce_table.add new ReduceAction390(80)
+               reduce_table.add new ReduceAction388(81)
+               reduce_table.add new ReduceAction392(82)
+               reduce_table.add new ReduceAction272(82)
+               reduce_table.add new ReduceAction394(82)
+               reduce_table.add new ReduceAction395(83)
+               reduce_table.add new ReduceAction396(83)
+               reduce_table.add new ReduceAction397(84)
+               reduce_table.add new ReduceAction398(84)
+               reduce_table.add new ReduceAction399(85)
+               reduce_table.add new ReduceAction397(86)
+               reduce_table.add new ReduceAction398(86)
+               reduce_table.add new ReduceAction402(87)
+               reduce_table.add new ReduceAction403(88)
+               reduce_table.add new ReduceAction404(89)
+               reduce_table.add new ReduceAction405(89)
+               reduce_table.add new ReduceAction406(90)
+               reduce_table.add new ReduceAction22(90)
+               reduce_table.add new ReduceAction408(91)
+               reduce_table.add new ReduceAction409(91)
+               reduce_table.add new ReduceAction410(92)
+               reduce_table.add new ReduceAction411(92)
+               reduce_table.add new ReduceAction408(93)
+               reduce_table.add new ReduceAction409(93)
+               reduce_table.add new ReduceAction414(93)
+               reduce_table.add new ReduceAction159(94)
+               reduce_table.add new ReduceAction416(95)
+               reduce_table.add new ReduceAction417(96)
+               reduce_table.add new ReduceAction418(96)
+               reduce_table.add new ReduceAction419(96)
+               reduce_table.add new ReduceAction420(96)
+               reduce_table.add new ReduceAction421(96)
+               reduce_table.add new ReduceAction422(97)
+               reduce_table.add new ReduceAction423(97)
+               reduce_table.add new ReduceAction424(97)
+               reduce_table.add new ReduceAction425(97)
+               reduce_table.add new ReduceAction426(97)
+               reduce_table.add new ReduceAction389(98)
+               reduce_table.add new ReduceAction390(98)
+               reduce_table.add new ReduceAction388(99)
+               reduce_table.add new ReduceAction430(100)
+               reduce_table.add new ReduceAction159(100)
+               reduce_table.add new ReduceAction159(100)
+               reduce_table.add new ReduceAction433(100)
+               reduce_table.add new ReduceAction434(100)
+               reduce_table.add new ReduceAction435(100)
+               reduce_table.add new ReduceAction436(101)
+               reduce_table.add new ReduceAction437(101)
+               reduce_table.add new ReduceAction438(101)
+               reduce_table.add new ReduceAction439(102)
+               reduce_table.add new ReduceAction440(102)
+               reduce_table.add new ReduceAction439(103)
+               reduce_table.add new ReduceAction442(103)
+               reduce_table.add new ReduceAction440(103)
+               reduce_table.add new ReduceAction444(103)
+               reduce_table.add new ReduceAction445(104)
+               reduce_table.add new ReduceAction398(105)
+               reduce_table.add new ReduceAction447(105)
+               reduce_table.add new ReduceAction448(106)
+               reduce_table.add new ReduceAction449(107)
+               reduce_table.add new ReduceAction450(107)
+               reduce_table.add new ReduceAction451(108)
+               reduce_table.add new ReduceAction452(108)
+               reduce_table.add new ReduceAction453(109)
+               reduce_table.add new ReduceAction454(109)
+               reduce_table.add new ReduceAction455(109)
+               reduce_table.add new ReduceAction456(109)
+               reduce_table.add new ReduceAction457(110)
+               reduce_table.add new ReduceAction458(110)
+               reduce_table.add new ReduceAction459(110)
+               reduce_table.add new ReduceAction22(110)
+               reduce_table.add new ReduceAction461(111)
+               reduce_table.add new ReduceAction462(111)
+               reduce_table.add new ReduceAction463(111)
+               reduce_table.add new ReduceAction462(111)
+               reduce_table.add new ReduceAction465(112)
+               reduce_table.add new ReduceAction466(112)
+               reduce_table.add new ReduceAction467(112)
+               reduce_table.add new ReduceAction466(112)
+               reduce_table.add new ReduceAction469(113)
+               reduce_table.add new ReduceAction470(114)
+               reduce_table.add new ReduceAction22(115)
+               reduce_table.add new ReduceAction472(115)
+               reduce_table.add new ReduceAction473(116)
+               reduce_table.add new ReduceAction473(116)
+               reduce_table.add new ReduceAction473(116)
+               reduce_table.add new ReduceAction476(117)
+               reduce_table.add new ReduceAction477(117)
+               reduce_table.add new ReduceAction23(117)
+               reduce_table.add new ReduceAction23(117)
+               reduce_table.add new ReduceAction480(117)
+               reduce_table.add new ReduceAction480(117)
+               reduce_table.add new ReduceAction482(117)
+               reduce_table.add new ReduceAction483(117)
+               reduce_table.add new ReduceAction484(117)
+               reduce_table.add new ReduceAction484(117)
+               reduce_table.add new ReduceAction486(117)
+               reduce_table.add new ReduceAction22(118)
+               reduce_table.add new ReduceAction488(118)
+               reduce_table.add new ReduceAction489(119)
+               reduce_table.add new ReduceAction473(119)
+               reduce_table.add new ReduceAction473(120)
+               reduce_table.add new ReduceAction492(120)
+               reduce_table.add new ReduceAction48(121)
+               reduce_table.add new ReduceAction49(121)
+               reduce_table.add new ReduceAction50(121)
+               reduce_table.add new ReduceAction57(121)
+               reduce_table.add new ReduceAction58(121)
+               reduce_table.add new ReduceAction76(122)
+               reduce_table.add new ReduceAction77(122)
+               reduce_table.add new ReduceAction86(123)
+               reduce_table.add new ReduceAction87(123)
+               reduce_table.add new ReduceAction88(123)
+               reduce_table.add new ReduceAction89(123)
+               reduce_table.add new ReduceAction90(123)
+               reduce_table.add new ReduceAction91(123)
+               reduce_table.add new ReduceAction92(123)
+               reduce_table.add new ReduceAction93(123)
+               reduce_table.add new ReduceAction94(123)
+               reduce_table.add new ReduceAction95(123)
+               reduce_table.add new ReduceAction96(123)
+               reduce_table.add new ReduceAction97(123)
+               reduce_table.add new ReduceAction98(123)
+               reduce_table.add new ReduceAction99(123)
+               reduce_table.add new ReduceAction100(123)
+               reduce_table.add new ReduceAction101(123)
+               reduce_table.add new ReduceAction102(123)
+               reduce_table.add new ReduceAction103(123)
+               reduce_table.add new ReduceAction104(123)
+               reduce_table.add new ReduceAction105(123)
+               reduce_table.add new ReduceAction106(123)
+               reduce_table.add new ReduceAction107(123)
+               reduce_table.add new ReduceAction465(124)
+               reduce_table.add new ReduceAction466(124)
+               reduce_table.add new ReduceAction467(124)
+               reduce_table.add new ReduceAction466(124)
+               reduce_table.add new ReduceAction146(125)
+               reduce_table.add new ReduceAction147(125)
+               reduce_table.add new ReduceAction159(126)
+               reduce_table.add new ReduceAction287(126)
+               reduce_table.add new ReduceAction159(127)
+               reduce_table.add new ReduceAction289(127)
+               reduce_table.add new ReduceAction290(127)
+               reduce_table.add new ReduceAction291(127)
+               reduce_table.add new ReduceAction292(127)
+               reduce_table.add new ReduceAction159(128)
+               reduce_table.add new ReduceAction294(128)
+               reduce_table.add new ReduceAction159(129)
+               reduce_table.add new ReduceAction296(129)
+               reduce_table.add new ReduceAction297(129)
+               reduce_table.add new ReduceAction298(129)
+               reduce_table.add new ReduceAction299(129)
+               reduce_table.add new ReduceAction300(129)
+               reduce_table.add new ReduceAction301(129)
+               reduce_table.add new ReduceAction302(129)
+               reduce_table.add new ReduceAction303(129)
+               reduce_table.add new ReduceAction159(130)
+               reduce_table.add new ReduceAction305(130)
+               reduce_table.add new ReduceAction159(131)
+               reduce_table.add new ReduceAction307(131)
+               reduce_table.add new ReduceAction159(132)
+               reduce_table.add new ReduceAction309(132)
+               reduce_table.add new ReduceAction159(133)
+               reduce_table.add new ReduceAction311(133)
+               reduce_table.add new ReduceAction312(133)
+               reduce_table.add new ReduceAction159(134)
+               reduce_table.add new ReduceAction314(134)
+               reduce_table.add new ReduceAction315(134)
+               reduce_table.add new ReduceAction159(135)
+               reduce_table.add new ReduceAction317(135)
+               reduce_table.add new ReduceAction318(135)
+               reduce_table.add new ReduceAction319(135)
+               reduce_table.add new ReduceAction159(136)
+               reduce_table.add new ReduceAction321(136)
+               reduce_table.add new ReduceAction159(137)
+               reduce_table.add new ReduceAction323(137)
+               reduce_table.add new ReduceAction324(137)
+               reduce_table.add new ReduceAction325(137)
+               reduce_table.add new ReduceAction326(137)
+               reduce_table.add new ReduceAction159(138)
+               reduce_table.add new ReduceAction328(138)
+               reduce_table.add new ReduceAction329(138)
+               reduce_table.add new ReduceAction330(138)
+               reduce_table.add new ReduceAction331(138)
+               reduce_table.add new ReduceAction159(139)
+               reduce_table.add new ReduceAction333(139)
+               reduce_table.add new ReduceAction334(139)
+               reduce_table.add new ReduceAction183(139)
+               reduce_table.add new ReduceAction187(139)
+               reduce_table.add new ReduceAction336(139)
+               reduce_table.add new ReduceAction344(139)
+               reduce_table.add new ReduceAction184(139)
+               reduce_table.add new ReduceAction188(139)
+               reduce_table.add new ReduceAction338(139)
+               reduce_table.add new ReduceAction346(139)
+               reduce_table.add new ReduceAction185(139)
+               reduce_table.add new ReduceAction189(139)
+               reduce_table.add new ReduceAction340(139)
+               reduce_table.add new ReduceAction348(139)
+               reduce_table.add new ReduceAction186(139)
+               reduce_table.add new ReduceAction190(139)
+               reduce_table.add new ReduceAction342(139)
+               reduce_table.add new ReduceAction350(139)
+               reduce_table.add new ReduceAction191(139)
+               reduce_table.add new ReduceAction352(139)
+               reduce_table.add new ReduceAction192(139)
+               reduce_table.add new ReduceAction193(139)
+               reduce_table.add new ReduceAction354(139)
+               reduce_table.add new ReduceAction356(139)
+               reduce_table.add new ReduceAction358(139)
+               reduce_table.add new ReduceAction359(139)
+               reduce_table.add new ReduceAction360(139)
+               reduce_table.add new ReduceAction361(139)
+               reduce_table.add new ReduceAction362(139)
+               reduce_table.add new ReduceAction363(139)
+               reduce_table.add new ReduceAction364(139)
+               reduce_table.add new ReduceAction365(139)
+               reduce_table.add new ReduceAction366(139)
+               reduce_table.add new ReduceAction367(139)
+               reduce_table.add new ReduceAction368(139)
+               reduce_table.add new ReduceAction159(140)
+               reduce_table.add new ReduceAction370(140)
+               reduce_table.add new ReduceAction371(140)
+               reduce_table.add new ReduceAction372(141)
+               reduce_table.add new ReduceAction373(141)
+               reduce_table.add new ReduceAction374(141)
+               reduce_table.add new ReduceAction375(141)
+               reduce_table.add new ReduceAction376(141)
+               reduce_table.add new ReduceAction377(141)
+               reduce_table.add new ReduceAction378(141)
+               reduce_table.add new ReduceAction379(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction159(141)
+               reduce_table.add new ReduceAction146(142)
+               reduce_table.add new ReduceAction147(142)
+               reduce_table.add new ReduceAction148(142)
+               reduce_table.add new ReduceAction149(142)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction169(143)
+               reduce_table.add new ReduceAction170(143)
+               reduce_table.add new ReduceAction171(143)
+               reduce_table.add new ReduceAction172(143)
+               reduce_table.add new ReduceAction173(143)
+               reduce_table.add new ReduceAction174(143)
+               reduce_table.add new ReduceAction175(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction159(143)
+               reduce_table.add new ReduceAction183(143)
+               reduce_table.add new ReduceAction184(143)
+               reduce_table.add new ReduceAction185(143)
+               reduce_table.add new ReduceAction186(143)
+               reduce_table.add new ReduceAction187(143)
+               reduce_table.add new ReduceAction188(143)
+               reduce_table.add new ReduceAction189(143)
+               reduce_table.add new ReduceAction190(143)
+               reduce_table.add new ReduceAction191(143)
+               reduce_table.add new ReduceAction192(143)
+               reduce_table.add new ReduceAction193(143)
+               reduce_table.add new ReduceAction194(143)
+               reduce_table.add new ReduceAction195(143)
+               reduce_table.add new ReduceAction194(143)
+               reduce_table.add new ReduceAction197(143)
+               reduce_table.add new ReduceAction198(143)
+               reduce_table.add new ReduceAction197(143)
+               reduce_table.add new ReduceAction200(143)
+               reduce_table.add new ReduceAction207(144)
+               reduce_table.add new ReduceAction208(144)
+               reduce_table.add new ReduceAction209(144)
+               reduce_table.add new ReduceAction210(144)
+               reduce_table.add new ReduceAction211(144)
+               reduce_table.add new ReduceAction212(144)
+               reduce_table.add new ReduceAction213(144)
+               reduce_table.add new ReduceAction214(144)
+               reduce_table.add new ReduceAction215(144)
+               reduce_table.add new ReduceAction216(144)
+               reduce_table.add new ReduceAction217(144)
+               reduce_table.add new ReduceAction218(144)
+               reduce_table.add new ReduceAction219(144)
+               reduce_table.add new ReduceAction220(144)
+               reduce_table.add new ReduceAction221(144)
+               reduce_table.add new ReduceAction222(144)
+               reduce_table.add new ReduceAction223(144)
+               reduce_table.add new ReduceAction224(144)
+               reduce_table.add new ReduceAction225(144)
+               reduce_table.add new ReduceAction226(144)
+               reduce_table.add new ReduceAction227(144)
+               reduce_table.add new ReduceAction228(144)
+               reduce_table.add new ReduceAction229(144)
+               reduce_table.add new ReduceAction230(144)
+               reduce_table.add new ReduceAction231(144)
+               reduce_table.add new ReduceAction232(144)
+               reduce_table.add new ReduceAction233(144)
+               reduce_table.add new ReduceAction234(144)
+               reduce_table.add new ReduceAction235(144)
+               reduce_table.add new ReduceAction236(144)
+               reduce_table.add new ReduceAction237(144)
+               reduce_table.add new ReduceAction238(144)
+               reduce_table.add new ReduceAction239(144)
+               reduce_table.add new ReduceAction240(144)
+               reduce_table.add new ReduceAction241(144)
+               reduce_table.add new ReduceAction242(144)
+               reduce_table.add new ReduceAction243(144)
+               reduce_table.add new ReduceAction244(144)
+               reduce_table.add new ReduceAction159(145)
+               reduce_table.add new ReduceAction287(145)
+               reduce_table.add new ReduceAction159(146)
+               reduce_table.add new ReduceAction289(146)
+               reduce_table.add new ReduceAction290(146)
+               reduce_table.add new ReduceAction291(146)
+               reduce_table.add new ReduceAction292(146)
+               reduce_table.add new ReduceAction159(147)
+               reduce_table.add new ReduceAction294(147)
+               reduce_table.add new ReduceAction159(148)
+               reduce_table.add new ReduceAction296(148)
+               reduce_table.add new ReduceAction297(148)
+               reduce_table.add new ReduceAction298(148)
+               reduce_table.add new ReduceAction299(148)
+               reduce_table.add new ReduceAction300(148)
+               reduce_table.add new ReduceAction301(148)
+               reduce_table.add new ReduceAction302(148)
+               reduce_table.add new ReduceAction303(148)
+               reduce_table.add new ReduceAction159(149)
+               reduce_table.add new ReduceAction305(149)
+               reduce_table.add new ReduceAction159(150)
+               reduce_table.add new ReduceAction307(150)
+               reduce_table.add new ReduceAction159(151)
+               reduce_table.add new ReduceAction309(151)
+               reduce_table.add new ReduceAction159(152)
+               reduce_table.add new ReduceAction311(152)
+               reduce_table.add new ReduceAction312(152)
+               reduce_table.add new ReduceAction159(153)
+               reduce_table.add new ReduceAction314(153)
+               reduce_table.add new ReduceAction315(153)
+               reduce_table.add new ReduceAction159(154)
+               reduce_table.add new ReduceAction317(154)
+               reduce_table.add new ReduceAction318(154)
+               reduce_table.add new ReduceAction319(154)
+               reduce_table.add new ReduceAction159(155)
+               reduce_table.add new ReduceAction321(155)
+               reduce_table.add new ReduceAction159(156)
+               reduce_table.add new ReduceAction323(156)
+               reduce_table.add new ReduceAction324(156)
+               reduce_table.add new ReduceAction325(156)
+               reduce_table.add new ReduceAction326(156)
+               reduce_table.add new ReduceAction159(157)
+               reduce_table.add new ReduceAction328(157)
+               reduce_table.add new ReduceAction329(157)
+               reduce_table.add new ReduceAction330(157)
+               reduce_table.add new ReduceAction331(157)
+               reduce_table.add new ReduceAction159(158)
+               reduce_table.add new ReduceAction333(158)
+               reduce_table.add new ReduceAction334(158)
+               reduce_table.add new ReduceAction183(158)
+               reduce_table.add new ReduceAction336(158)
+               reduce_table.add new ReduceAction184(158)
+               reduce_table.add new ReduceAction338(158)
+               reduce_table.add new ReduceAction185(158)
+               reduce_table.add new ReduceAction340(158)
+               reduce_table.add new ReduceAction186(158)
+               reduce_table.add new ReduceAction342(158)
+               reduce_table.add new ReduceAction187(158)
+               reduce_table.add new ReduceAction344(158)
+               reduce_table.add new ReduceAction188(158)
+               reduce_table.add new ReduceAction346(158)
+               reduce_table.add new ReduceAction189(158)
+               reduce_table.add new ReduceAction348(158)
+               reduce_table.add new ReduceAction190(158)
+               reduce_table.add new ReduceAction350(158)
+               reduce_table.add new ReduceAction191(158)
+               reduce_table.add new ReduceAction352(158)
+               reduce_table.add new ReduceAction192(158)
+               reduce_table.add new ReduceAction354(158)
+               reduce_table.add new ReduceAction193(158)
+               reduce_table.add new ReduceAction356(158)
+               reduce_table.add new ReduceAction357(158)
+               reduce_table.add new ReduceAction358(158)
+               reduce_table.add new ReduceAction359(158)
+               reduce_table.add new ReduceAction360(158)
+               reduce_table.add new ReduceAction361(158)
+               reduce_table.add new ReduceAction362(158)
+               reduce_table.add new ReduceAction363(158)
+               reduce_table.add new ReduceAction364(158)
+               reduce_table.add new ReduceAction365(158)
+               reduce_table.add new ReduceAction366(158)
+               reduce_table.add new ReduceAction367(158)
+               reduce_table.add new ReduceAction368(158)
+               reduce_table.add new ReduceAction159(159)
+               reduce_table.add new ReduceAction370(159)
+               reduce_table.add new ReduceAction371(159)
+               reduce_table.add new ReduceAction372(160)
+               reduce_table.add new ReduceAction373(160)
+               reduce_table.add new ReduceAction374(160)
+               reduce_table.add new ReduceAction375(160)
+               reduce_table.add new ReduceAction376(160)
+               reduce_table.add new ReduceAction377(160)
+               reduce_table.add new ReduceAction378(160)
+               reduce_table.add new ReduceAction379(160)
+               reduce_table.add new ReduceAction159(160)
+               reduce_table.add new ReduceAction404(161)
+               reduce_table.add new ReduceAction405(161)
+               reduce_table.add new ReduceAction406(162)
+               reduce_table.add new ReduceAction22(162)
+               reduce_table.add new ReduceAction408(163)
+               reduce_table.add new ReduceAction408(164)
+               reduce_table.add new ReduceAction389(165)
+               reduce_table.add new ReduceAction390(165)
+               reduce_table.add new ReduceAction430(166)
+               reduce_table.add new ReduceAction159(166)
+               reduce_table.add new ReduceAction159(166)
+               reduce_table.add new ReduceAction433(166)
+               reduce_table.add new ReduceAction434(166)
+               reduce_table.add new ReduceAction146(167)
+               reduce_table.add new ReduceAction147(167)
+               reduce_table.add new ReduceAction159(168)
+               reduce_table.add new ReduceAction287(168)
+               reduce_table.add new ReduceAction159(169)
+               reduce_table.add new ReduceAction289(169)
+               reduce_table.add new ReduceAction290(169)
+               reduce_table.add new ReduceAction291(169)
+               reduce_table.add new ReduceAction292(169)
+               reduce_table.add new ReduceAction159(170)
+               reduce_table.add new ReduceAction294(170)
+               reduce_table.add new ReduceAction159(171)
+               reduce_table.add new ReduceAction296(171)
+               reduce_table.add new ReduceAction297(171)
+               reduce_table.add new ReduceAction298(171)
+               reduce_table.add new ReduceAction299(171)
+               reduce_table.add new ReduceAction300(171)
+               reduce_table.add new ReduceAction301(171)
+               reduce_table.add new ReduceAction302(171)
+               reduce_table.add new ReduceAction303(171)
+               reduce_table.add new ReduceAction159(172)
+               reduce_table.add new ReduceAction305(172)
+               reduce_table.add new ReduceAction159(173)
+               reduce_table.add new ReduceAction307(173)
+               reduce_table.add new ReduceAction159(174)
+               reduce_table.add new ReduceAction309(174)
+               reduce_table.add new ReduceAction159(175)
+               reduce_table.add new ReduceAction311(175)
+               reduce_table.add new ReduceAction312(175)
+               reduce_table.add new ReduceAction159(176)
+               reduce_table.add new ReduceAction314(176)
+               reduce_table.add new ReduceAction315(176)
+               reduce_table.add new ReduceAction159(177)
+               reduce_table.add new ReduceAction317(177)
+               reduce_table.add new ReduceAction318(177)
+               reduce_table.add new ReduceAction319(177)
+               reduce_table.add new ReduceAction159(178)
+               reduce_table.add new ReduceAction321(178)
+               reduce_table.add new ReduceAction159(179)
+               reduce_table.add new ReduceAction323(179)
+               reduce_table.add new ReduceAction324(179)
+               reduce_table.add new ReduceAction325(179)
+               reduce_table.add new ReduceAction326(179)
+               reduce_table.add new ReduceAction159(180)
+               reduce_table.add new ReduceAction328(180)
+               reduce_table.add new ReduceAction329(180)
+               reduce_table.add new ReduceAction853(180)
+               reduce_table.add new ReduceAction159(181)
+               reduce_table.add new ReduceAction855(181)
+               reduce_table.add new ReduceAction856(181)
+               reduce_table.add new ReduceAction857(181)
+               reduce_table.add new ReduceAction858(181)
+               reduce_table.add new ReduceAction859(181)
+               reduce_table.add new ReduceAction860(181)
+               reduce_table.add new ReduceAction861(181)
+               reduce_table.add new ReduceAction862(181)
+               reduce_table.add new ReduceAction863(181)
+               reduce_table.add new ReduceAction191(181)
+               reduce_table.add new ReduceAction352(181)
+               reduce_table.add new ReduceAction866(181)
+               reduce_table.add new ReduceAction867(181)
+               reduce_table.add new ReduceAction358(181)
+               reduce_table.add new ReduceAction359(181)
+               reduce_table.add new ReduceAction360(181)
+               reduce_table.add new ReduceAction361(181)
+               reduce_table.add new ReduceAction362(181)
+               reduce_table.add new ReduceAction363(181)
+               reduce_table.add new ReduceAction364(181)
+               reduce_table.add new ReduceAction365(181)
+               reduce_table.add new ReduceAction366(181)
+               reduce_table.add new ReduceAction367(181)
+               reduce_table.add new ReduceAction368(181)
+               reduce_table.add new ReduceAction159(182)
+               reduce_table.add new ReduceAction370(182)
+               reduce_table.add new ReduceAction371(182)
+               reduce_table.add new ReduceAction372(183)
+               reduce_table.add new ReduceAction373(183)
+               reduce_table.add new ReduceAction374(183)
+               reduce_table.add new ReduceAction375(183)
+               reduce_table.add new ReduceAction376(183)
+               reduce_table.add new ReduceAction377(183)
+               reduce_table.add new ReduceAction378(183)
+               reduce_table.add new ReduceAction379(183)
+               reduce_table.add new ReduceAction159(183)
+               reduce_table.add new ReduceAction891(184)
+               reduce_table.add new ReduceAction892(184)
+               reduce_table.add new ReduceAction156(185)
+               reduce_table.add new ReduceAction157(185)
+               reduce_table.add new ReduceAction158(185)
+               reduce_table.add new ReduceAction159(185)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction169(186)
+               reduce_table.add new ReduceAction170(186)
+               reduce_table.add new ReduceAction171(186)
+               reduce_table.add new ReduceAction172(186)
+               reduce_table.add new ReduceAction173(186)
+               reduce_table.add new ReduceAction174(186)
+               reduce_table.add new ReduceAction175(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction159(186)
+               reduce_table.add new ReduceAction183(186)
+               reduce_table.add new ReduceAction184(186)
+               reduce_table.add new ReduceAction185(186)
+               reduce_table.add new ReduceAction186(186)
+               reduce_table.add new ReduceAction187(186)
+               reduce_table.add new ReduceAction188(186)
+               reduce_table.add new ReduceAction189(186)
+               reduce_table.add new ReduceAction190(186)
+               reduce_table.add new ReduceAction191(186)
+               reduce_table.add new ReduceAction192(186)
+               reduce_table.add new ReduceAction193(186)
+               reduce_table.add new ReduceAction194(186)
+               reduce_table.add new ReduceAction195(186)
+               reduce_table.add new ReduceAction194(186)
+               reduce_table.add new ReduceAction197(186)
+               reduce_table.add new ReduceAction198(186)
+               reduce_table.add new ReduceAction197(186)
+               reduce_table.add new ReduceAction200(186)
+               reduce_table.add new ReduceAction256(187)
+               reduce_table.add new ReduceAction257(187)
+               reduce_table.add new ReduceAction258(188)
+               reduce_table.add new ReduceAction267(189)
+               reduce_table.add new ReduceAction268(189)
+               reduce_table.add new ReduceAction269(190)
+               reduce_table.add new ReduceAction270(190)
+               reduce_table.add new ReduceAction271(191)
+               reduce_table.add new ReduceAction272(191)
+               reduce_table.add new ReduceAction276(192)
+               reduce_table.add new ReduceAction277(192)
+               reduce_table.add new ReduceAction281(193)
+               reduce_table.add new ReduceAction282(193)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction169(194)
+               reduce_table.add new ReduceAction170(194)
+               reduce_table.add new ReduceAction171(194)
+               reduce_table.add new ReduceAction172(194)
+               reduce_table.add new ReduceAction173(194)
+               reduce_table.add new ReduceAction174(194)
+               reduce_table.add new ReduceAction175(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction159(194)
+               reduce_table.add new ReduceAction183(194)
+               reduce_table.add new ReduceAction184(194)
+               reduce_table.add new ReduceAction185(194)
+               reduce_table.add new ReduceAction186(194)
+               reduce_table.add new ReduceAction187(194)
+               reduce_table.add new ReduceAction188(194)
+               reduce_table.add new ReduceAction189(194)
+               reduce_table.add new ReduceAction190(194)
+               reduce_table.add new ReduceAction191(194)
+               reduce_table.add new ReduceAction192(194)
+               reduce_table.add new ReduceAction193(194)
+               reduce_table.add new ReduceAction194(194)
+               reduce_table.add new ReduceAction195(194)
+               reduce_table.add new ReduceAction194(194)
+               reduce_table.add new ReduceAction197(194)
+               reduce_table.add new ReduceAction198(194)
+               reduce_table.add new ReduceAction197(194)
+               reduce_table.add new ReduceAction200(194)
+               reduce_table.add new ReduceAction156(195)
+               reduce_table.add new ReduceAction157(195)
+               reduce_table.add new ReduceAction158(195)
+               reduce_table.add new ReduceAction156(196)
+               reduce_table.add new ReduceAction157(196)
+               reduce_table.add new ReduceAction158(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 ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction169(199)
+               reduce_table.add new ReduceAction170(199)
+               reduce_table.add new ReduceAction171(199)
+               reduce_table.add new ReduceAction172(199)
+               reduce_table.add new ReduceAction173(199)
+               reduce_table.add new ReduceAction174(199)
+               reduce_table.add new ReduceAction175(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction159(199)
+               reduce_table.add new ReduceAction200(199)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction169(200)
+               reduce_table.add new ReduceAction170(200)
+               reduce_table.add new ReduceAction171(200)
+               reduce_table.add new ReduceAction172(200)
+               reduce_table.add new ReduceAction173(200)
+               reduce_table.add new ReduceAction174(200)
+               reduce_table.add new ReduceAction175(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction159(200)
+               reduce_table.add new ReduceAction200(200)
+               reduce_table.add new ReduceAction436(201)
+               reduce_table.add new ReduceAction438(201)
+               reduce_table.add new ReduceAction476(202)
+               reduce_table.add new ReduceAction477(202)
+               reduce_table.add new ReduceAction23(202)
+               reduce_table.add new ReduceAction1053(203)
+               reduce_table.add new ReduceAction1054(203)
+               reduce_table.add new ReduceAction1055(204)
+               reduce_table.add new ReduceAction1056(204)
+               reduce_table.add new ReduceAction1057(205)
+               reduce_table.add new ReduceAction1058(205)
+               reduce_table.add new ReduceAction37(206)
+               reduce_table.add new ReduceAction1060(206)
+               reduce_table.add new ReduceAction45(207)
+               reduce_table.add new ReduceAction1062(207)
+               reduce_table.add new ReduceAction410(208)
+               reduce_table.add new ReduceAction1064(208)
+               reduce_table.add new ReduceAction1065(209)
+               reduce_table.add new ReduceAction1066(209)
+               reduce_table.add new ReduceAction1067(210)
+               reduce_table.add new ReduceAction1068(210)
+               reduce_table.add new ReduceAction150(211)
+               reduce_table.add new ReduceAction1070(211)
+               reduce_table.add new ReduceAction389(212)
+               reduce_table.add new ReduceAction1072(212)
+               reduce_table.add new ReduceAction389(213)
+               reduce_table.add new ReduceAction1072(213)
+               reduce_table.add new ReduceAction389(214)
+               reduce_table.add new ReduceAction1072(214)
+               reduce_table.add new ReduceAction450(215)
+               reduce_table.add new ReduceAction1078(215)
+               reduce_table.add new ReduceAction410(216)
+               reduce_table.add new ReduceAction1064(216)
+               reduce_table.add new ReduceAction389(217)
+               reduce_table.add new ReduceAction1072(217)
+               reduce_table.add new ReduceAction389(218)
+               reduce_table.add new ReduceAction1072(218)
+               reduce_table.add new ReduceAction451(219)
+               reduce_table.add new ReduceAction1086(219)
+               reduce_table.add new ReduceAction1087(220)
+               reduce_table.add new ReduceAction1088(220)
+               reduce_table.add new ReduceAction473(221)
+               reduce_table.add new ReduceAction492(221)
        end
 end
 
@@ -1781,7 +1795,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
@@ -1791,7 +1804,7 @@ 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
                                        var tkwredefnode3 = nodearraylist2
@@ -1802,24 +1815,23 @@ 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 listnode10 = nodearraylist8
-                                       assert listnode10 isa Array[Object]
-                                       listnode11 = concat(listnode11, listnode10)
-                                       var tkwendnode12 = nodearraylist9
-                                       assert tkwendnode12 isa nullable TKwend
+                                       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,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
+                                               null,
                                                listnode8,
                                                null,
-                                               listnode11,
-                                               tkwendnode12
+                                               null,
+                                               listnode12,
+                                               tkwendnode13
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -1830,7 +1842,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
@@ -1841,7 +1852,7 @@ private class ReduceAction27
                                        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
                                        var tkwredefnode3 = nodearraylist2
@@ -1852,26 +1863,83 @@ private class ReduceAction27
                                        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 pexterncodeblocknode9 = nodearraylist8
-                                       assert pexterncodeblocknode9 isa nullable AExternCodeBlock
-                                       var listnode10 = nodearraylist9
-                                       assert listnode10 isa Array[Object]
-                                       listnode11 = concat(listnode11, listnode10)
-                                       var tkwendnode12 = nodearraylist10
-                                       assert tkwendnode12 isa nullable TKwend
+                                       var pexterncodeblocknode10 = nodearraylist7
+                                       assert pexterncodeblocknode10 isa nullable AExternCodeBlock
+                                       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,
                                                tkwredefnode3,
                                                pvisibilitynode4,
                                                pclasskindnode5,
                                                tclassidnode6,
+                                               null,
                                                listnode8,
-                                               pexterncodeblocknode9,
-                                               listnode11,
-                                               tkwendnode12
+                                               null,
+                                               pexterncodeblocknode10,
+                                               listnode12,
+                                               tkwendnode13
+                                       )
+                                       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 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 listnode9 = 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 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 tkwendnode14 = nodearraylist12
+                                       assert tkwendnode14 isa nullable TKwend
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
+                                               pdocnode2,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               pclasskindnode5,
+                                               tclassidnode6,
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
+                                               null,
+                                               listnode13,
+                                               tkwendnode14
                                        )
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -1882,13 +1950,74 @@ private class ReduceAction29
        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 listnode9 = 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 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,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               pclasskindnode5,
+                                               tclassidnode6,
+                                               tobranode7,
+                                               listnode9,
+                                               tcbranode10,
+                                               pexterncodeblocknode11,
+                                               listnode13,
+                                               tkwendnode14
+                                       )
+                                       node_list = pclassdefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction31
+       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 ReduceAction30
+private class ReduceAction32
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -1903,7 +2032,7 @@ private class ReduceAction30
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction31
+private class ReduceAction33
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -1922,7 +2051,7 @@ private class ReduceAction31
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction32
+private class ReduceAction34
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -1937,7 +2066,7 @@ private class ReduceAction32
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction33
+private class ReduceAction35
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -1952,7 +2081,7 @@ private class ReduceAction33
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction34
+private class ReduceAction36
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -1971,18 +2100,14 @@ private class ReduceAction34
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction35
+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
@@ -1990,20 +2115,16 @@ private class ReduceAction35
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction36
+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)
@@ -2013,7 +2134,7 @@ private class ReduceAction36
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction37
+private class ReduceAction39
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2023,7 +2144,7 @@ private class ReduceAction37
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction38
+private class ReduceAction40
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2036,11 +2157,12 @@ private class ReduceAction38
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction39
+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
@@ -2056,11 +2178,12 @@ private class ReduceAction39
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction40
+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
@@ -2079,7 +2202,7 @@ private class ReduceAction40
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction41
+private class ReduceAction43
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2115,7 +2238,7 @@ private class ReduceAction41
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction42
+private class ReduceAction44
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2130,7 +2253,7 @@ private class ReduceAction42
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction43
+private class ReduceAction45
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2145,7 +2268,7 @@ private class ReduceAction43
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction44
+private class ReduceAction46
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2156,7 +2279,7 @@ private class ReduceAction44
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction45
+private class ReduceAction47
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2168,7 +2291,7 @@ private class ReduceAction45
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction46
+private class ReduceAction48
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2194,8 +2317,12 @@ private class ReduceAction46
                                        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,
@@ -2208,13 +2335,15 @@ private class ReduceAction46
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction47
+private class ReduceAction49
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2243,8 +2372,12 @@ private class ReduceAction47
                                        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,
@@ -2257,13 +2390,15 @@ private class ReduceAction47
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction48
+private class ReduceAction50
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2301,13 +2436,15 @@ private class ReduceAction48
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction49
+private class ReduceAction51
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2342,13 +2479,15 @@ private class ReduceAction49
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction50
+private class ReduceAction52
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2386,13 +2525,15 @@ private class ReduceAction50
                                                pannotationsnode10,
                                                null,
                                                null,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction51
+private class ReduceAction53
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2415,8 +2556,12 @@ private class ReduceAction51
                                        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,
@@ -2429,13 +2574,15 @@ private class ReduceAction51
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction52
+private class ReduceAction54
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2461,8 +2608,12 @@ private class ReduceAction52
                                        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,
@@ -2475,13 +2626,15 @@ private class ReduceAction52
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction53
+private class ReduceAction55
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2507,8 +2660,12 @@ private class ReduceAction53
                                        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,
@@ -2521,13 +2678,15 @@ private class ReduceAction53
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction54
+private class ReduceAction56
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2556,8 +2715,12 @@ private class ReduceAction54
                                        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,
@@ -2570,13 +2733,15 @@ private class ReduceAction54
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction55
+private class ReduceAction57
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2617,13 +2782,15 @@ private class ReduceAction55
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction56
+private class ReduceAction58
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2667,13 +2834,15 @@ private class ReduceAction56
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction57
+private class ReduceAction59
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2697,8 +2866,8 @@ private class ReduceAction57
                                        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,
@@ -2707,14 +2876,17 @@ private class ReduceAction57
                                                tidnode6,
                                                ptypenode7,
                                                null,
-                                               pannotationsnode9,
+                                               null,
+                                               pannotationsnode10,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction58
+private class ReduceAction60
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2741,10 +2913,12 @@ private class ReduceAction58
                                        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,
@@ -2752,15 +2926,18 @@ private class ReduceAction58
                                                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 ReduceAction59
+private class ReduceAction61
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2785,8 +2962,10 @@ private class ReduceAction59
                                        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,
@@ -2796,13 +2975,16 @@ private class ReduceAction59
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction60
+private class ReduceAction62
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2828,10 +3010,12 @@ private class ReduceAction60
                                        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,
@@ -2840,14 +3024,17 @@ private class ReduceAction60
                                                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 ReduceAction61
+private class ReduceAction63
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2873,8 +3060,12 @@ private class ReduceAction61
                                        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,
@@ -2884,13 +3075,16 @@ private class ReduceAction61
                                                ptypenode7,
                                                null,
                                                null,
-                                               pexprnode10
+                                               null,
+                                               tkwdonode11,
+                                               pexprnode12,
+                                               tkwendnode13
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction62
+private class ReduceAction64
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2917,10 +3111,14 @@ private class ReduceAction62
                                        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,
@@ -2929,14 +3127,17 @@ private class ReduceAction62
                                                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 ReduceAction63
+private class ReduceAction65
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -2959,8 +3160,12 @@ private class ReduceAction63
                                        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,
@@ -2973,13 +3178,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 ReduceAction66
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3005,8 +3212,12 @@ private class ReduceAction64
                                        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,
@@ -3019,13 +3230,15 @@ private class ReduceAction64
                                                null,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction65
+private class ReduceAction67
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3051,8 +3264,12 @@ private class ReduceAction65
                                        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,
@@ -3065,13 +3282,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 ReduceAction68
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3100,8 +3319,12 @@ private class ReduceAction66
                                        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,
@@ -3114,13 +3337,15 @@ private class ReduceAction66
                                                pannotationsnode10,
                                                null,
                                                null,
-                                               pexprnode13
+                                               tkwdonode13,
+                                               pexprnode14,
+                                               tkwendnode15
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction67
+private class ReduceAction69
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3159,7 +3384,7 @@ private class ReduceAction67
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction68
+private class ReduceAction70
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3197,13 +3422,15 @@ private class ReduceAction68
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction69
+private class ReduceAction71
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3244,13 +3471,15 @@ private class ReduceAction69
                                                null,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction70
+private class ReduceAction72
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3291,13 +3520,15 @@ private class ReduceAction70
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction71
+private class ReduceAction73
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3341,13 +3572,15 @@ private class ReduceAction71
                                                pannotationsnode10,
                                                pexterncallsnode11,
                                                pexterncodeblocknode12,
+                                               null,
+                                               null,
                                                null
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction72
+private class ReduceAction74
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3358,33 +3591,61 @@ private class ReduceAction72
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction74
+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
-                                       node_list = pannotationsnode1
-                                       p.push(p.go_to(_goto), node_list)
-       end
-end
-private class ReduceAction75
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
+                                       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 ReduceAction77
+       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 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 ReduceAction78
+private class ReduceAction80
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3392,12 +3653,25 @@ private class ReduceAction78
                                        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 ReduceAction79
+private class ReduceAction81
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3409,7 +3683,7 @@ private class ReduceAction79
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction80
+private class ReduceAction82
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3425,7 +3699,7 @@ private class ReduceAction80
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction81
+private class ReduceAction83
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3441,7 +3715,7 @@ private class ReduceAction81
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction82
+private class ReduceAction84
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3457,7 +3731,7 @@ private class ReduceAction82
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction83
+private class ReduceAction85
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3473,7 +3747,7 @@ private class ReduceAction83
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction84
+private class ReduceAction86
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3488,7 +3762,7 @@ private class ReduceAction84
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction85
+private class ReduceAction87
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3503,7 +3777,7 @@ private class ReduceAction85
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction86
+private class ReduceAction88
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3518,7 +3792,7 @@ private class ReduceAction86
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction87
+private class ReduceAction89
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3533,7 +3807,7 @@ private class ReduceAction87
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction88
+private class ReduceAction90
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3548,7 +3822,7 @@ private class ReduceAction88
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction89
+private class ReduceAction91
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3563,7 +3837,7 @@ private class ReduceAction89
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction90
+private class ReduceAction92
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3578,7 +3852,7 @@ private class ReduceAction90
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction91
+private class ReduceAction93
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3593,7 +3867,7 @@ private class ReduceAction91
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction92
+private class ReduceAction94
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3608,7 +3882,7 @@ private class ReduceAction92
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction93
+private class ReduceAction95
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3623,7 +3897,7 @@ private class ReduceAction93
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction94
+private class ReduceAction96
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3638,7 +3912,7 @@ private class ReduceAction94
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction95
+private class ReduceAction97
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3653,7 +3927,7 @@ private class ReduceAction95
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction96
+private class ReduceAction98
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3668,7 +3942,7 @@ private class ReduceAction96
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction97
+private class ReduceAction99
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3683,7 +3957,7 @@ private class ReduceAction97
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction98
+private class ReduceAction100
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3698,7 +3972,7 @@ private class ReduceAction98
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction99
+private class ReduceAction101
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3713,7 +3987,7 @@ private class ReduceAction99
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction100
+private class ReduceAction102
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3728,7 +4002,7 @@ private class ReduceAction100
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction101
+private class ReduceAction103
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3743,7 +4017,7 @@ private class ReduceAction101
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction102
+private class ReduceAction104
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3762,7 +4036,7 @@ private class ReduceAction102
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction103
+private class ReduceAction105
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3777,7 +4051,7 @@ private class ReduceAction103
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction104
+private class ReduceAction106
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3796,7 +4070,7 @@ private class ReduceAction104
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction105
+private class ReduceAction107
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3819,7 +4093,7 @@ private class ReduceAction105
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction106
+private class ReduceAction108
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3834,7 +4108,7 @@ private class ReduceAction106
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction107
+private class ReduceAction109
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3865,7 +4139,7 @@ private class ReduceAction107
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction108
+private class ReduceAction110
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3893,7 +4167,7 @@ private class ReduceAction108
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction109
+private class ReduceAction111
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3913,7 +4187,7 @@ private class ReduceAction109
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction110
+private class ReduceAction112
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3930,7 +4204,7 @@ private class ReduceAction110
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction111
+private class ReduceAction113
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3946,7 +4220,7 @@ private class ReduceAction111
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction112
+private class ReduceAction114
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3966,7 +4240,7 @@ private class ReduceAction112
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction114
+private class ReduceAction116
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -3979,7 +4253,7 @@ private class ReduceAction114
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction115
+private class ReduceAction117
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4000,7 +4274,7 @@ private class ReduceAction115
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction116
+private class ReduceAction118
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4021,7 +4295,7 @@ private class ReduceAction116
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction117
+private class ReduceAction119
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4045,7 +4319,7 @@ private class ReduceAction117
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction118
+private class ReduceAction120
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4069,7 +4343,7 @@ private class ReduceAction118
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction119
+private class ReduceAction121
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4096,7 +4370,7 @@ private class ReduceAction119
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction120
+private class ReduceAction122
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4120,7 +4394,7 @@ private class ReduceAction120
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction121
+private class ReduceAction123
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4148,7 +4422,7 @@ private class ReduceAction121
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction123
+private class ReduceAction125
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4161,7 +4435,7 @@ private class ReduceAction123
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction124
+private class ReduceAction126
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4172,7 +4446,7 @@ private class ReduceAction124
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction126
+private class ReduceAction128
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4187,7 +4461,7 @@ private class ReduceAction126
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction127
+private class ReduceAction129
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4202,7 +4476,7 @@ private class ReduceAction127
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction128
+private class ReduceAction130
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4225,7 +4499,7 @@ private class ReduceAction128
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction129
+private class ReduceAction131
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4240,7 +4514,7 @@ private class ReduceAction129
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction130
+private class ReduceAction132
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4272,7 +4546,7 @@ private class ReduceAction130
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction131
+private class ReduceAction133
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4300,7 +4574,7 @@ private class ReduceAction131
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction132
+private class ReduceAction134
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4329,7 +4603,7 @@ private class ReduceAction132
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction133
+private class ReduceAction135
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4354,7 +4628,7 @@ private class ReduceAction133
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction134
+private class ReduceAction136
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4388,7 +4662,7 @@ private class ReduceAction134
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction135
+private class ReduceAction137
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4418,7 +4692,7 @@ private class ReduceAction135
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction137
+private class ReduceAction139
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4429,7 +4703,7 @@ private class ReduceAction137
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction138
+private class ReduceAction140
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4450,7 +4724,7 @@ private class ReduceAction138
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction139
+private class ReduceAction141
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4466,7 +4740,7 @@ private class ReduceAction139
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction140
+private class ReduceAction142
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4485,7 +4759,7 @@ private class ReduceAction140
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction141
+private class ReduceAction143
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4496,7 +4770,7 @@ private class ReduceAction141
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction143
+private class ReduceAction145
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4508,29 +4782,31 @@ private class ReduceAction143
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction144
+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 ReduceAction145
+private class ReduceAction147
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4538,24 +4814,26 @@ private class ReduceAction145
                                        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 ReduceAction146
+private class ReduceAction148
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4567,25 +4845,31 @@ private class ReduceAction146
                                        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 ReduceAction147
+private class ReduceAction149
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4598,27 +4882,33 @@ private class ReduceAction147
                                        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 ReduceAction148
+private class ReduceAction150
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4633,7 +4923,7 @@ private class ReduceAction148
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction149
+private class ReduceAction151
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4652,7 +4942,7 @@ private class ReduceAction149
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction150
+private class ReduceAction152
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4665,7 +4955,7 @@ private class ReduceAction150
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction154
+private class ReduceAction156
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4677,7 +4967,7 @@ private class ReduceAction154
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction155
+private class ReduceAction157
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4695,7 +4985,7 @@ private class ReduceAction155
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction156
+private class ReduceAction158
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4712,7 +5002,7 @@ private class ReduceAction156
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction157
+private class ReduceAction159
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4723,7 +5013,7 @@ private class ReduceAction157
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction158
+private class ReduceAction160
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4743,7 +5033,7 @@ private class ReduceAction158
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction159
+private class ReduceAction161
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4767,7 +5057,7 @@ private class ReduceAction159
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction160
+private class ReduceAction162
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4788,7 +5078,7 @@ private class ReduceAction160
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction161
+private class ReduceAction163
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4813,7 +5103,7 @@ private class ReduceAction161
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction162
+private class ReduceAction164
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4837,7 +5127,7 @@ private class ReduceAction162
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction163
+private class ReduceAction165
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4865,7 +5155,7 @@ private class ReduceAction163
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction167
+private class ReduceAction169
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4881,7 +5171,7 @@ private class ReduceAction167
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction168
+private class ReduceAction170
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4900,7 +5190,7 @@ private class ReduceAction168
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction169
+private class ReduceAction171
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4916,7 +5206,7 @@ private class ReduceAction169
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction170
+private class ReduceAction172
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4935,7 +5225,7 @@ private class ReduceAction170
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction171
+private class ReduceAction173
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4950,7 +5240,7 @@ private class ReduceAction171
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction172
+private class ReduceAction174
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4966,7 +5256,7 @@ private class ReduceAction172
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction173
+private class ReduceAction175
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4985,7 +5275,7 @@ private class ReduceAction173
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction181
+private class ReduceAction183
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -4997,20 +5287,24 @@ private class ReduceAction181
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction182
+private class ReduceAction184
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5023,20 +5317,31 @@ private class ReduceAction182
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
-                                               pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction183
+private class ReduceAction185
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5050,20 +5355,72 @@ private class ReduceAction183
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction185
+private class ReduceAction186
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction187
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5071,20 +5428,24 @@ private class ReduceAction185
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction186
+private class ReduceAction188
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5093,20 +5454,31 @@ private class ReduceAction186
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction187
+private class ReduceAction189
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5116,20 +5488,68 @@ private class ReduceAction187
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction189
+private class ReduceAction190
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction191
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5152,7 +5572,7 @@ private class ReduceAction189
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction190
+private class ReduceAction192
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5177,7 +5597,7 @@ private class ReduceAction190
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction191
+private class ReduceAction193
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5198,7 +5618,7 @@ private class ReduceAction191
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction192
+private class ReduceAction194
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5224,7 +5644,7 @@ private class ReduceAction192
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction193
+private class ReduceAction195
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5251,7 +5671,7 @@ private class ReduceAction193
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction195
+private class ReduceAction197
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5273,7 +5693,7 @@ private class ReduceAction195
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction196
+private class ReduceAction198
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5296,7 +5716,7 @@ private class ReduceAction196
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction198
+private class ReduceAction200
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5324,7 +5744,7 @@ private class ReduceAction198
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction199
+private class ReduceAction201
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5340,7 +5760,7 @@ private class ReduceAction199
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction200
+private class ReduceAction202
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5359,7 +5779,7 @@ private class ReduceAction200
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction201
+private class ReduceAction203
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5385,7 +5805,7 @@ private class ReduceAction201
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction202
+private class ReduceAction204
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5414,7 +5834,7 @@ private class ReduceAction202
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction203
+private class ReduceAction205
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5447,7 +5867,7 @@ private class ReduceAction203
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction204
+private class ReduceAction206
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5483,7 +5903,7 @@ private class ReduceAction204
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction205
+private class ReduceAction207
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5513,7 +5933,7 @@ private class ReduceAction205
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction206
+private class ReduceAction208
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5539,7 +5959,7 @@ private class ReduceAction206
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction207
+private class ReduceAction209
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5553,26 +5973,30 @@ private class ReduceAction207
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist6
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var tassignnode7 = nodearraylist6
+                                       assert tassignnode7 isa nullable TAssign
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction208
+private class ReduceAction210
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5585,28 +6009,32 @@ private class ReduceAction208
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var tassignnode6 = nodearraylist5
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var tassignnode8 = nodearraylist5
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist6
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction209
+private class ReduceAction211
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5621,26 +6049,37 @@ private class ReduceAction209
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist7
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist8
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var tassignnode9 = nodearraylist7
+                                       assert tassignnode9 isa nullable TAssign
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction210
+private class ReduceAction212
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5654,28 +6093,39 @@ private class ReduceAction210
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var tassignnode6 = nodearraylist6
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var tassignnode10 = nodearraylist6
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist7
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction211
+private class ReduceAction213
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5691,26 +6141,40 @@ private class ReduceAction211
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist8
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist9
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist8
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist9
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction212
+private class ReduceAction214
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5725,22 +6189,36 @@ private class ReduceAction212
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
-                                       )
-                                       var tassignnode6 = nodearraylist7
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist8
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist7
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5751,25 +6229,42 @@ private class ReduceAction215
        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 pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist3
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist7
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist8
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5780,26 +6275,43 @@ private class ReduceAction216
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = 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 pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
                                        )
-                                       var tassignnode6 = nodearraylist2
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist3
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist6
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist7
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5810,26 +6322,29 @@ private class ReduceAction217
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist4
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var tassignnode7 = nodearraylist3
+                                       assert tassignnode7 isa nullable TAssign
+                                       var pexprnode8 = nodearraylist4
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5840,27 +6355,30 @@ private class ReduceAction218
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var tassignnode6 = nodearraylist3
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var tassignnode8 = nodearraylist2
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist3
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5871,27 +6389,37 @@ private class ReduceAction219
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist5
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var tassignnode9 = nodearraylist4
+                                       assert tassignnode9 isa nullable TAssign
+                                       var pexprnode10 = nodearraylist5
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5902,28 +6430,129 @@ private class ReduceAction220
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var tassignnode6 = nodearraylist4
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var tassignnode10 = nodearraylist3
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist4
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction221
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist5
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist6
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction222
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist4
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist5
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5934,6 +6563,91 @@ private class ReduceAction223
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist4
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist5
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction224
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist3
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist4
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction225
+       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
@@ -5956,7 +6670,7 @@ private class ReduceAction223
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction224
+private class ReduceAction226
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -5986,7 +6700,7 @@ private class ReduceAction224
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction225
+private class ReduceAction227
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6012,7 +6726,7 @@ private class ReduceAction225
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction226
+private class ReduceAction228
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6026,26 +6740,30 @@ private class ReduceAction226
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist6
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var passignopnode7 = nodearraylist6
+                                       assert passignopnode7 isa nullable AAssignOp
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction227
+private class ReduceAction229
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6058,28 +6776,32 @@ private class ReduceAction227
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var passignopnode6 = nodearraylist5
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var passignopnode8 = nodearraylist5
+                                       assert passignopnode8 isa nullable AAssignOp
+                                       var pexprnode9 = nodearraylist6
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction228
+private class ReduceAction230
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6094,26 +6816,37 @@ private class ReduceAction228
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist7
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist8
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var passignopnode9 = nodearraylist7
+                                       assert passignopnode9 isa nullable AAssignOp
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction229
+private class ReduceAction231
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6127,28 +6860,39 @@ private class ReduceAction229
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var passignopnode10 = nodearraylist6
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist7
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction230
+private class ReduceAction232
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6164,26 +6908,40 @@ private class ReduceAction230
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist8
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist9
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist8
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist9
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction231
+private class ReduceAction233
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6198,22 +6956,36 @@ private class ReduceAction231
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
-                                       )
-                                       var passignopnode6 = nodearraylist7
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist8
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist7
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6224,185 +6996,421 @@ private class ReduceAction234
        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 pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist7
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist8
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction235
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist6
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist7
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction236
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var passignopnode7 = nodearraylist3
+                                       assert passignopnode7 isa nullable AAssignOp
+                                       var pexprnode8 = nodearraylist4
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode7,
+                                               pexprnode8
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction237
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var passignopnode8 = nodearraylist2
+                                       assert passignopnode8 isa nullable AAssignOp
+                                       var pexprnode9 = nodearraylist3
+                                       assert pexprnode9 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode8,
+                                               pexprnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction238
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var passignopnode9 = nodearraylist4
+                                       assert passignopnode9 isa nullable AAssignOp
+                                       var pexprnode10 = nodearraylist5
+                                       assert pexprnode10 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction235
+private class ReduceAction239
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var passignopnode6 = nodearraylist2
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist3
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var passignopnode10 = nodearraylist3
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist4
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction236
+private class ReduceAction240
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist4
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist5
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist6
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction237
+private class ReduceAction241
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
-                                       )
-                                       var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist4
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist5
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction238
+private class ReduceAction242
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist5
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist4
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist5
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction243
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
                                        )
-                                       var passignopnode6 = nodearraylist4
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist3
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist4
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction242
+private class ReduceAction244
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6429,7 +7437,7 @@ private class ReduceAction242
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction243
+private class ReduceAction245
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6444,7 +7452,7 @@ private class ReduceAction243
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction244
+private class ReduceAction246
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6459,7 +7467,7 @@ private class ReduceAction244
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction245
+private class ReduceAction247
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6474,7 +7482,7 @@ private class ReduceAction245
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction246
+private class ReduceAction248
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6489,7 +7497,7 @@ private class ReduceAction246
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction247
+private class ReduceAction249
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6504,7 +7512,7 @@ private class ReduceAction247
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction248
+private class ReduceAction250
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6519,7 +7527,7 @@ private class ReduceAction248
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction249
+private class ReduceAction251
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6534,7 +7542,7 @@ private class ReduceAction249
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction250
+private class ReduceAction252
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6549,7 +7557,7 @@ private class ReduceAction250
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction251
+private class ReduceAction253
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6564,7 +7572,7 @@ private class ReduceAction251
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction252
+private class ReduceAction254
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6579,7 +7587,7 @@ private class ReduceAction252
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction253
+private class ReduceAction255
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6594,7 +7602,7 @@ private class ReduceAction253
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction254
+private class ReduceAction256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6617,7 +7625,7 @@ private class ReduceAction254
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction255
+private class ReduceAction257
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6637,7 +7645,7 @@ private class ReduceAction255
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction256
+private class ReduceAction258
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6654,21 +7662,27 @@ private class ReduceAction256
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist8
+                                       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,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction257
+private class ReduceAction259
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6683,23 +7697,28 @@ private class ReduceAction257
                                        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 pexprnode5 = nodearraylist6
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
-                                               pexprnode4,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction258
+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
@@ -6712,25 +7731,32 @@ private class ReduceAction258
                                        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 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,
-                                               pexprnode4,
-                                               pexprnode5
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               tkwelsenode6,
+                                               pexprnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction259
+private class ReduceAction261
        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
@@ -6741,19 +7767,126 @@ private class ReduceAction259
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode5 = nodearraylist6
+                                       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,
+                                               tkwthennode4,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+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
+                                       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 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,
+                                               null,
+                                               tkwelsenode6,
+                                               pexprnode7
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction263
+       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 = nodearraylist7
                                        assert pexprnode5 isa nullable AExpr
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
+                                               tkwifnode2,
+                                               pexprnode3,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
+                                               pexprnode7
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction264
+       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 tkwifnode2 = nodearraylist1
+                                       assert tkwifnode2 isa nullable TKwif
+                                       var pexprnode3 = nodearraylist3
+                                       assert pexprnode3 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 ReduceAction260
+private class ReduceAction265
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6769,19 +7902,23 @@ private class ReduceAction260
                                        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 ReduceAction263
+private class ReduceAction267
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6804,7 +7941,7 @@ private class ReduceAction263
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction264
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6824,7 +7961,7 @@ private class ReduceAction264
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction265
+private class ReduceAction269
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6857,7 +7994,7 @@ private class ReduceAction265
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction266
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -6887,15 +8024,11 @@ private class ReduceAction266
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction267
+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
@@ -6909,35 +8042,28 @@ private class ReduceAction267
                                        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 tkwdonode5 = nodearraylist5
+                                       assert tkwdonode5 isa nullable TKwdo
+                                       var pexprnode6 = nodearraylist6
+                                       assert pexprnode6 isa nullable AExpr
+                                       var plabelnode7 = nodearraylist7
+                                       assert plabelnode7 isa nullable ALabel
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                listnode4,
-                                               pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
-                                               plabelnode8
+                                               tkwdonode5,
+                                               pexprnode6,
+                                               plabelnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction268
+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
@@ -6950,25 +8076,86 @@ private class ReduceAction268
                                        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 tkwdonode5 = nodearraylist5
+                                       assert tkwdonode5 isa nullable TKwdo
+                                       var pexprnode6 = nodearraylist6
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                listnode4,
-                                               pexprnode5,
-                                               tkwdonode6,
-                                               pexprnode7,
+                                               tkwdonode5,
+                                               pexprnode6,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction269
+private class ReduceAction273
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var pforgroupnode1 = nodearraylist1
+                                       if pforgroupnode1 != null then
+                                               listnode2.add(pforgroupnode1)
+                                       end
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction274
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode3 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       var pforgroupnode2 = nodearraylist5
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if pforgroupnode2 != null then
+                                               listnode3.add(pforgroupnode2)
+                                       end
+                                       node_list = listnode3
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction275
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode3 = new Array[Object]
+                                       var listnode2 = nodearraylist1
+                                       assert listnode2 isa Array[Object]
+                                       listnode3 = concat(listnode3, listnode2)
+                                       var tkwinnode4 = nodearraylist3
+                                       assert tkwinnode4 isa nullable TKwin
+                                       var pexprnode5 = nodearraylist5
+                                       assert pexprnode5 isa nullable AExpr
+                                       var pforgroupnode1: nullable AForGroup = new AForGroup.init_aforgroup(
+                                               listnode3,
+                                               tkwinnode4,
+                                               pexprnode5
+                                       )
+                                       node_list = pforgroupnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7001,7 +8188,7 @@ private class ReduceAction269
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction270
+private class ReduceAction277
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7031,7 +8218,7 @@ private class ReduceAction270
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction271
+private class ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7061,7 +8248,7 @@ private class ReduceAction271
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction272
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7094,7 +8281,7 @@ private class ReduceAction272
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction274
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7107,19 +8294,22 @@ private class ReduceAction274
                                        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 ReduceAction275
+private class ReduceAction282
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7135,19 +8325,22 @@ private class ReduceAction275
                                        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 ReduceAction276
+private class ReduceAction283
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7162,13 +8355,14 @@ private class ReduceAction276
                                                tkwassertnode2,
                                                null,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction277
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7186,13 +8380,14 @@ private class ReduceAction277
                                                tkwassertnode2,
                                                tidnode3,
                                                pexprnode4,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction278
+private class ReduceAction285
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7204,7 +8399,7 @@ private class ReduceAction278
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction280
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7244,7 +8439,7 @@ private class ReduceAction280
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction282
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7268,7 +8463,7 @@ private class ReduceAction282
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction283
+private class ReduceAction290
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7292,7 +8487,7 @@ private class ReduceAction283
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction284
+private class ReduceAction291
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7320,7 +8515,7 @@ private class ReduceAction284
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction285
+private class ReduceAction292
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7344,7 +8539,7 @@ private class ReduceAction285
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction287
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7364,7 +8559,7 @@ private class ReduceAction287
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction289
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7388,7 +8583,7 @@ private class ReduceAction289
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction290
+private class ReduceAction297
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7412,7 +8607,7 @@ private class ReduceAction290
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction291
+private class ReduceAction298
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7436,7 +8631,7 @@ private class ReduceAction291
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction292
+private class ReduceAction299
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7460,7 +8655,7 @@ private class ReduceAction292
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction293
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7484,7 +8679,7 @@ private class ReduceAction293
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction294
+private class ReduceAction301
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7508,7 +8703,7 @@ private class ReduceAction294
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction295
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7532,7 +8727,7 @@ private class ReduceAction295
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction296
+private class ReduceAction303
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7556,7 +8751,7 @@ private class ReduceAction296
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction298
+private class ReduceAction305
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7580,7 +8775,7 @@ private class ReduceAction298
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction300
+private class ReduceAction307
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7604,7 +8799,7 @@ private class ReduceAction300
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction302
+private class ReduceAction309
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7628,7 +8823,7 @@ private class ReduceAction302
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction304
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7652,7 +8847,7 @@ private class ReduceAction304
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction305
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7676,7 +8871,7 @@ private class ReduceAction305
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction307
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7700,7 +8895,7 @@ private class ReduceAction307
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction308
+private class ReduceAction315
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7724,7 +8919,7 @@ private class ReduceAction308
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction310
+private class ReduceAction317
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7748,7 +8943,7 @@ private class ReduceAction310
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction311
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7772,7 +8967,7 @@ private class ReduceAction311
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction312
+private class ReduceAction319
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7796,7 +8991,7 @@ private class ReduceAction312
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction314
+private class ReduceAction321
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7820,7 +9015,7 @@ private class ReduceAction314
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction316
+private class ReduceAction323
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7839,7 +9034,7 @@ private class ReduceAction316
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction317
+private class ReduceAction324
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7858,7 +9053,7 @@ private class ReduceAction317
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction318
+private class ReduceAction325
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7877,7 +9072,7 @@ private class ReduceAction318
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction319
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7897,7 +9092,7 @@ private class ReduceAction319
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction321
+private class ReduceAction328
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7922,7 +9117,7 @@ private class ReduceAction321
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction322
+private class ReduceAction329
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7948,7 +9143,7 @@ private class ReduceAction322
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction323
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7974,7 +9169,7 @@ private class ReduceAction323
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction324
+private class ReduceAction331
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -7996,7 +9191,7 @@ private class ReduceAction324
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction326
+private class ReduceAction333
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8018,7 +9213,7 @@ private class ReduceAction326
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction327
+private class ReduceAction334
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8036,7 +9231,7 @@ private class ReduceAction327
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction329
+private class ReduceAction336
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8047,22 +9242,26 @@ private class ReduceAction329
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction331
+private class ReduceAction338
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8074,22 +9273,33 @@ private class ReduceAction331
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction333
+private class ReduceAction340
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8100,93 +9310,210 @@ private class ReduceAction333
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction342
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction344
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction337
+private class ReduceAction346
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction339
+private class ReduceAction348
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction341
+private class ReduceAction350
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction345
+private class ReduceAction352
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8210,7 +9537,7 @@ private class ReduceAction345
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction347
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8236,7 +9563,7 @@ private class ReduceAction347
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction349
+private class ReduceAction356
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8258,7 +9585,7 @@ private class ReduceAction349
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction350
+private class ReduceAction357
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8277,7 +9604,7 @@ private class ReduceAction350
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction351
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8293,21 +9620,25 @@ private class ReduceAction351
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist6
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist7
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var tidnode6 = nodearraylist6
+                                       assert tidnode6 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode6
+                                       )
+                                       var pexprsnode7 = nodearraylist7
+                                       assert pexprsnode7 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction352
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8322,23 +9653,27 @@ private class ReduceAction352
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist6
-                                       assert tidnode4 isa nullable TId
-                                       var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var tidnode6 = nodearraylist6
+                                       assert tidnode6 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode6
+                                       )
+                                       var listnode8 = new Array[Object]
+                                       var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode8
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction353
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8355,21 +9690,32 @@ private class ReduceAction353
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist7
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist8
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var tclassidnode7 = nodearraylist6
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist7
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist8
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction354
+private class ReduceAction361
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8385,23 +9731,34 @@ private class ReduceAction354
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist7
-                                       assert tidnode4 isa nullable TId
                                        var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var tclassidnode7 = nodearraylist6
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist7
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction355
+private class ReduceAction362
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8419,21 +9776,35 @@ private class ReduceAction355
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist8
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist9
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var tclassidnode8 = nodearraylist7
+                                       assert tclassidnode8 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               tclassidnode8
+                                       )
+                                       var tidnode9 = nodearraylist8
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var pexprsnode10 = nodearraylist9
+                                       assert pexprsnode10 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction356
+private class ReduceAction363
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8450,23 +9821,124 @@ private class ReduceAction356
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist8
-                                       assert tidnode4 isa nullable TId
-                                       var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var tclassidnode8 = nodearraylist7
+                                       assert tclassidnode8 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               tclassidnode8
+                                       )
+                                       var tidnode9 = nodearraylist8
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var listnode11 = new Array[Object]
+                                       var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode11
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction359
+private class ReduceAction364
+       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 tkwnewnode2 = nodearraylist1
+                                       assert tkwnewnode2 isa nullable TKwnew
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               null
+                                       )
+                                       var tidnode9 = nodearraylist7
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var pexprsnode10 = nodearraylist8
+                                       assert pexprsnode10 isa nullable AExprs
+                                       var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
+                                               tkwnewnode2,
+                                               ptypenode3,
+                                               pqidnode4,
+                                               pexprsnode10
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction365
+       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 tkwnewnode2 = nodearraylist1
+                                       assert tkwnewnode2 isa nullable TKwnew
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               null
+                                       )
+                                       var tidnode9 = nodearraylist7
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var listnode11 = new Array[Object]
+                                       var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode11
+                                       )
+                                       var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
+                                               tkwnewnode2,
+                                               ptypenode3,
+                                               pqidnode4,
+                                               pexprsnode10
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction366
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8502,7 +9974,7 @@ private class ReduceAction359
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction360
+private class ReduceAction367
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8543,7 +10015,7 @@ private class ReduceAction360
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction361
+private class ReduceAction368
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8576,7 +10048,7 @@ private class ReduceAction361
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction363
+private class ReduceAction370
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8595,7 +10067,7 @@ private class ReduceAction363
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction364
+private class ReduceAction371
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8618,7 +10090,7 @@ private class ReduceAction364
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction365
+private class ReduceAction372
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8637,7 +10109,7 @@ private class ReduceAction365
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction366
+private class ReduceAction373
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8656,7 +10128,7 @@ private class ReduceAction366
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction367
+private class ReduceAction374
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8675,7 +10147,7 @@ private class ReduceAction367
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction368
+private class ReduceAction375
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8694,45 +10166,26 @@ private class ReduceAction368
                                        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 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 ReduceAction370
+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 thexnumbernode2 = nodearraylist1
-                                       assert thexnumbernode2 isa nullable THexNumber
+                                       var tintegernode2 = nodearraylist1
+                                       assert tintegernode2 isa nullable TInteger
                                        var pannotationsnode3 = nodearraylist2
                                        assert pannotationsnode3 isa nullable AAnnotations
-                                       var pexprnode1: nullable AHexIntExpr = new AHexIntExpr.init_ahexintexpr(
-                                               thexnumbernode2,
+                                       var pexprnode1: nullable AIntegerExpr = new AIntegerExpr.init_aintegerexpr(
+                                               tintegernode2,
                                                pannotationsnode3
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction371
+private class ReduceAction377
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8751,7 +10204,7 @@ private class ReduceAction371
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction372
+private class ReduceAction378
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8770,7 +10223,7 @@ private class ReduceAction372
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction373
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8789,7 +10242,7 @@ private class ReduceAction373
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction376
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8808,24 +10261,27 @@ private class ReduceAction376
                                        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 ReduceAction377
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8844,24 +10300,27 @@ private class ReduceAction377
                                        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 ReduceAction378
+private class ReduceAction384
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8895,7 +10354,7 @@ private class ReduceAction378
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction379
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8924,7 +10383,7 @@ private class ReduceAction379
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction381
+private class ReduceAction387
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8947,7 +10406,7 @@ private class ReduceAction381
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction382
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8960,7 +10419,7 @@ private class ReduceAction382
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction383
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8975,7 +10434,7 @@ private class ReduceAction383
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction384
+private class ReduceAction390
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8994,7 +10453,7 @@ private class ReduceAction384
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction386
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9006,7 +10465,7 @@ private class ReduceAction386
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction388
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9022,19 +10481,23 @@ private class ReduceAction388
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
                                        assert pexprnode3 isa nullable AExpr
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 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,
-                                               pexprnode4,
+                                               tkwthennode4,
+                                               pexprnode5,
+                                               null,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction389
+private class ReduceAction395
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9061,7 +10524,7 @@ private class ReduceAction389
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction390
+private class ReduceAction396
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9092,7 +10555,7 @@ private class ReduceAction390
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction391
+private class ReduceAction397
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9114,7 +10577,7 @@ private class ReduceAction391
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction392
+private class ReduceAction398
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9130,7 +10593,7 @@ private class ReduceAction392
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction393
+private class ReduceAction399
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9145,7 +10608,7 @@ private class ReduceAction393
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction396
+private class ReduceAction402
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9160,7 +10623,7 @@ private class ReduceAction396
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction397
+private class ReduceAction403
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9175,32 +10638,34 @@ private class ReduceAction397
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction398
+private class ReduceAction404
        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 ReduceAction399
+private class ReduceAction405
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9211,27 +10676,29 @@ private class ReduceAction399
                                        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 ReduceAction400
+private class ReduceAction406
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9242,7 +10709,7 @@ private class ReduceAction400
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction402
+private class ReduceAction408
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9274,7 +10741,7 @@ private class ReduceAction402
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction403
+private class ReduceAction409
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9318,27 +10785,7 @@ private class ReduceAction403
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction404
-       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 ReduceAction405
+private class ReduceAction410
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9353,7 +10800,7 @@ private class ReduceAction405
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction406
+private class ReduceAction411
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9372,7 +10819,7 @@ private class ReduceAction406
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction409
+private class ReduceAction414
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9407,7 +10854,7 @@ private class ReduceAction409
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction411
+private class ReduceAction416
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9420,7 +10867,7 @@ private class ReduceAction411
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction413
+private class ReduceAction417
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9453,7 +10900,7 @@ private class ReduceAction413
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction414
+private class ReduceAction418
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9489,7 +10936,7 @@ private class ReduceAction414
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction415
+private class ReduceAction419
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9533,7 +10980,7 @@ private class ReduceAction415
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction416
+private class ReduceAction420
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9580,7 +11027,7 @@ private class ReduceAction416
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction417
+private class ReduceAction421
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9617,7 +11064,7 @@ private class ReduceAction417
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction418
+private class ReduceAction422
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9643,7 +11090,7 @@ private class ReduceAction418
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction419
+private class ReduceAction423
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9672,7 +11119,7 @@ private class ReduceAction419
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction420
+private class ReduceAction424
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9709,7 +11156,7 @@ private class ReduceAction420
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction421
+private class ReduceAction425
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9749,7 +11196,7 @@ private class ReduceAction421
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction422
+private class ReduceAction426
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9779,7 +11226,7 @@ private class ReduceAction422
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction426
+private class ReduceAction430
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9794,7 +11241,7 @@ private class ReduceAction426
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction429
+private class ReduceAction433
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9815,7 +11262,7 @@ private class ReduceAction429
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction430
+private class ReduceAction434
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9832,7 +11279,7 @@ private class ReduceAction430
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction431
+private class ReduceAction435
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9847,7 +11294,7 @@ private class ReduceAction431
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction432
+private class ReduceAction436
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9862,7 +11309,7 @@ private class ReduceAction432
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction433
+private class ReduceAction437
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9877,7 +11324,7 @@ private class ReduceAction433
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction434
+private class ReduceAction438
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9892,7 +11339,7 @@ private class ReduceAction434
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction435
+private class ReduceAction439
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9918,7 +11365,7 @@ private class ReduceAction435
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction436
+private class ReduceAction440
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9940,7 +11387,7 @@ private class ReduceAction436
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction438
+private class ReduceAction442
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9959,7 +11406,7 @@ private class ReduceAction438
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction440
+private class ReduceAction444
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9972,7 +11419,7 @@ private class ReduceAction440
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction441
+private class ReduceAction445
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9998,7 +11445,7 @@ private class ReduceAction441
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction443
+private class ReduceAction447
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10018,7 +11465,7 @@ private class ReduceAction443
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction444
+private class ReduceAction448
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10032,7 +11479,7 @@ private class ReduceAction444
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction445
+private class ReduceAction449
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10050,7 +11497,7 @@ private class ReduceAction445
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction446
+private class ReduceAction450
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10064,7 +11511,7 @@ private class ReduceAction446
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction447
+private class ReduceAction451
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10079,7 +11526,7 @@ private class ReduceAction447
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction448
+private class ReduceAction452
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10100,7 +11547,7 @@ private class ReduceAction448
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction449
+private class ReduceAction453
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10118,7 +11565,7 @@ private class ReduceAction449
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction450
+private class ReduceAction454
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10140,7 +11587,7 @@ private class ReduceAction450
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction451
+private class ReduceAction455
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10162,7 +11609,7 @@ private class ReduceAction451
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction452
+private class ReduceAction456
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10188,7 +11635,7 @@ private class ReduceAction452
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction453
+private class ReduceAction457
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10205,7 +11652,7 @@ private class ReduceAction453
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction454
+private class ReduceAction458
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10226,7 +11673,7 @@ private class ReduceAction454
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction455
+private class ReduceAction459
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10244,7 +11691,7 @@ private class ReduceAction455
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction457
+private class ReduceAction461
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10255,7 +11702,7 @@ private class ReduceAction457
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction458
+private class ReduceAction462
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10267,7 +11714,7 @@ private class ReduceAction458
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction459
+private class ReduceAction463
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10280,7 +11727,7 @@ private class ReduceAction459
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction461
+private class ReduceAction465
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10291,7 +11738,7 @@ private class ReduceAction461
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction462
+private class ReduceAction466
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10303,7 +11750,7 @@ private class ReduceAction462
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction463
+private class ReduceAction467
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10316,7 +11763,7 @@ private class ReduceAction463
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction465
+private class ReduceAction469
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10329,107 +11776,265 @@ private class ReduceAction465
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction466
+private class ReduceAction470
+       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 tclassidnode1 = nodearraylist1
+                                       node_list = tclassidnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction472
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var tkwendnode1 = nodearraylist1
+                                       node_list = tkwendnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction473
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction476
+       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 pdocnode1: nullable ADoc = new ADoc.init_adoc(
+                                               listnode3
+                                       )
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction477
+       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 listnode2 = nodearraylist2
+                                       assert listnode2 isa Array[Object]
+                                       listnode3 = concat(listnode3, listnode2)
+                                       var pdocnode1: nullable ADoc = new ADoc.init_adoc(
+                                               listnode3
+                                       )
+                                       node_list = pdocnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction480
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       node_list = null
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction482
+       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 ReduceAction483
+       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 ReduceAction484
+       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 ReduceAction486
        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 tclassidnode1 = nodearraylist1
-                                       node_list = tclassidnode1
+                                       var pdocnode1 = nodearraylist4
+                                       node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction468
+private class ReduceAction488
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
-                                       var tkwendnode1 = nodearraylist1
-                                       node_list = tkwendnode1
+                                       var pdocnode1 = nodearraylist1
+                                       node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction469
+private class ReduceAction489
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction471
+private class ReduceAction492
        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 listnode2 = nodearraylist1
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var pdocnode1: nullable ADoc = new ADoc.init_adoc(
-                                               listnode3
-                                       )
-                                       node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction472
+private class ReduceAction853
        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 listnode3 = new Array[Object]
-                                       var listnode2 = nodearraylist2
-                                       assert listnode2 isa Array[Object]
-                                       listnode3 = concat(listnode3, listnode2)
-                                       var pdocnode1: nullable ADoc = new ADoc.init_adoc(
-                                               listnode3
+                                       var tkwissetnode2 = nodearraylist1
+                                       assert tkwissetnode2 isa nullable TKwisset
+                                       var pexprnode3 = nodearraylist2
+                                       assert pexprnode3 isa nullable AExpr
+                                       var tattridnode4 = nodearraylist4
+                                       assert tattridnode4 isa nullable TAttrid
+                                       var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
+                                               tkwissetnode2,
+                                               pexprnode3,
+                                               tattridnode4
                                        )
-                                       node_list = pdocnode1
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction475
+private class ReduceAction855
        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 = nodearraylist1
-                                       node_list = pdocnode1
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tattridnode3 = nodearraylist3
+                                       assert tattridnode3 isa nullable TAttrid
+                                       var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
+                                               pexprnode2,
+                                               tattridnode3
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction476
+private class ReduceAction856
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist3
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode6
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction477
+private class ReduceAction857
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode6
+                                       )
+                                       node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction841
+private class ReduceAction858
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10438,22 +12043,33 @@ private class ReduceAction841
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var tkwissetnode2 = nodearraylist1
-                                       assert tkwissetnode2 isa nullable TKwisset
-                                       var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable AExpr
-                                       var tattridnode4 = nodearraylist4
-                                       assert tattridnode4 isa nullable TAttrid
-                                       var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
-                                               tkwissetnode2,
-                                               pexprnode3,
-                                               tattridnode4
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist2
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist3
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist4
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction843
+private class ReduceAction859
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10463,64 +12079,112 @@ private class ReduceAction843
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tattridnode3 = nodearraylist3
-                                       assert tattridnode3 isa nullable TAttrid
-                                       var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist2
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist3
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tattridnode3
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction844
+private class ReduceAction860
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist3
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist4
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist5
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction845
+private class ReduceAction861
        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 tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist3
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist4
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction846
+private class ReduceAction862
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10531,20 +12195,32 @@ private class ReduceAction846
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction847
+private class ReduceAction863
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10554,22 +12230,34 @@ private class ReduceAction847
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction854
+private class ReduceAction866
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10592,7 +12280,7 @@ private class ReduceAction854
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction855
+private class ReduceAction867
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10616,7 +12304,7 @@ private class ReduceAction855
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction880
+private class ReduceAction891
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10629,7 +12317,7 @@ private class ReduceAction880
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction881
+private class ReduceAction892
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10639,7 +12327,7 @@ private class ReduceAction881
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1039
+private class ReduceAction1053
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10654,7 +12342,7 @@ private class ReduceAction1039
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1040
+private class ReduceAction1054
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10673,7 +12361,7 @@ private class ReduceAction1040
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1041
+private class ReduceAction1055
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10688,7 +12376,7 @@ private class ReduceAction1041
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1042
+private class ReduceAction1056
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10707,7 +12395,7 @@ private class ReduceAction1042
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1043
+private class ReduceAction1057
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10722,7 +12410,7 @@ private class ReduceAction1043
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1044
+private class ReduceAction1058
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10741,22 +12429,26 @@ private class ReduceAction1044
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1045
+private class ReduceAction1060
        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 pformaldefnode1 = nodearraylist1
-                                       if pformaldefnode1 != null then
-                                               listnode2.add(pformaldefnode1)
+                                       var listnode3 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       var pformaldefnode2 = nodearraylist2
+                                       listnode3 = concat(listnode3, listnode1)
+                                       if pformaldefnode2 != null then
+                                               listnode3.add(pformaldefnode2)
                                        end
-                                       node_list = listnode2
+                                       node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1046
+private class ReduceAction1062
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10766,16 +12458,16 @@ private class ReduceAction1046
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var pformaldefnode2 = nodearraylist2
+                                       var ppropdefnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if pformaldefnode2 != null then
-                                               listnode3.add(pformaldefnode2)
+                                       if ppropdefnode2 != null then
+                                               listnode3.add(ppropdefnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1048
+private class ReduceAction1064
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10785,16 +12477,16 @@ private class ReduceAction1048
                                        var listnode3 = new Array[Object]
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
-                                       var ppropdefnode2 = nodearraylist2
+                                       var pannotationnode2 = nodearraylist2
                                        listnode3 = concat(listnode3, listnode1)
-                                       if ppropdefnode2 != null then
-                                               listnode3.add(ppropdefnode2)
+                                       if pannotationnode2 != null then
+                                               listnode3.add(pannotationnode2)
                                        end
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1049
+private class ReduceAction1065
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10809,7 +12501,7 @@ private class ReduceAction1049
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1050
+private class ReduceAction1066
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10828,7 +12520,7 @@ private class ReduceAction1050
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1051
+private class ReduceAction1067
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10843,7 +12535,7 @@ private class ReduceAction1051
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1052
+private class ReduceAction1068
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10862,7 +12554,7 @@ private class ReduceAction1052
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1054
+private class ReduceAction1070
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10881,7 +12573,7 @@ private class ReduceAction1054
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1056
+private class ReduceAction1072
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10900,7 +12592,7 @@ private class ReduceAction1056
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1062
+private class ReduceAction1078
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10918,26 +12610,7 @@ private class ReduceAction1062
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1064
-       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 ReduceAction1072
+private class ReduceAction1086
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10956,7 +12629,7 @@ private class ReduceAction1072
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1073
+private class ReduceAction1087
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10971,7 +12644,7 @@ private class ReduceAction1073
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1074
+private class ReduceAction1088
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10990,37 +12663,3 @@ private class ReduceAction1074
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction1075
-       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 ReduceAction1076
-       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