parser: correct error messages for syntax errors
[nit.git] / src / parser / parser.nit
index 6a59312..88d0343 100644 (file)
@@ -102,9 +102,6 @@ special ParserTable
                var lexer = _lexer
                while true do
                        var token = lexer.peek
-                       var last_pos = token.location.column_start
-                       var last_line = token.location.line_start
-
                        if token isa AError then
                                return new Start(null, token)
                        end
@@ -142,11 +139,10 @@ special ParserTable
                                var node1 = pop
                                assert node1 isa AModule
                                var node = new Start(node1, node2)
-                               (new SearchTokensVisitor).enter_visit(node)
+                               (new ComputeProdLocationVisitor).enter_visit(node)
                                return node
                        else if action_type == 3 then # ERROR
-                               var location = new Location(lexer.filename, last_line, last_line, last_pos, last_pos)
-                               var node2 = new AError.init_error(error_messages[errors[action_value]],location)
+                               var node2 = new AError.init_error("Syntax error: unexpected token.", token.location)
                                var node = new Start(null, node2)
                                return node
                        end
@@ -912,123 +908,106 @@ special ParserTable
                        new ReduceAction751,
                        new ReduceAction752,
                        new ReduceAction753,
-                       new ReduceAction754,
-                       new ReduceAction755,
-                       new ReduceAction756,
-                       new ReduceAction757,
-                       new ReduceAction758,
-                       new ReduceAction759,
-                       new ReduceAction760,
-                       new ReduceAction761,
-                       new ReduceAction762,
-                       new ReduceAction763,
-                       new ReduceAction764,
-                       new ReduceAction765,
-                       new ReduceAction766,
-                       new ReduceAction767,
-                       new ReduceAction768,
-                       new ReduceAction769,
-                       new ReduceAction770,
-                       new ReduceAction771,
-                       new ReduceAction772,
-                       new ReduceAction773,
-                       new ReduceAction774,
-                       new ReduceAction775,
-                       new ReduceAction776,
-                       new ReduceAction777,
-                       new ReduceAction778,
-                       new ReduceAction779,
-                       new ReduceAction780,
-                       new ReduceAction781,
-                       new ReduceAction782,
-                       new ReduceAction783,
-                       new ReduceAction784,
-                       new ReduceAction785,
-                       new ReduceAction786,
-                       new ReduceAction787,
-                       new ReduceAction788,
-                       new ReduceAction789,
-                       new ReduceAction790,
-                       new ReduceAction791,
-                       new ReduceAction792,
-                       new ReduceAction793,
-                       new ReduceAction794,
-                       new ReduceAction795,
-                       new ReduceAction796,
-                       new ReduceAction797,
-                       new ReduceAction798,
-                       new ReduceAction799,
-                       new ReduceAction800,
-                       new ReduceAction801,
-                       new ReduceAction802,
-                       new ReduceAction803,
-                       new ReduceAction804,
-                       new ReduceAction805,
-                       new ReduceAction806,
-                       new ReduceAction807,
-                       new ReduceAction808,
-                       new ReduceAction809,
-                       new ReduceAction810,
-                       new ReduceAction811,
-                       new ReduceAction812,
-                       new ReduceAction813,
-                       new ReduceAction814,
-                       new ReduceAction815,
-                       new ReduceAction816,
-                       new ReduceAction817,
-                       new ReduceAction818,
-                       new ReduceAction819,
-                       new ReduceAction820,
-                       new ReduceAction821,
-                       new ReduceAction822,
-                       new ReduceAction823,
-                       new ReduceAction824,
-                       new ReduceAction825,
-                       new ReduceAction826
+                       new ReduceAction754
                )
        end
 end
 
-# Find first and last tokens of production nodes
-private class SearchTokensVisitor
+redef class Prod
+       # Location on the first token after the start of a production
+       # So outside the production for epilon production
+       var _first_location: nullable Location
+
+       # Location of the last token before the end of a production
+       # So outside the production for epilon production
+       var _last_location: nullable Location
+end
+
+# Find location of production nodes
+# Uses existing token locations to infer location of productions.
+private class ComputeProdLocationVisitor
 special Visitor
-       var _untokenned_nodes: Array[Prod]
-       var _last_token: nullable Token = null
+       # Currenlty visited productions that need a first token
+       var _need_first_prods: Array[Prod] = new Array[Prod]
+
+       # Already visited epsilon productions that waits something after them
+       var _need_after_epsilons: Array[Prod] = new Array[Prod]
+
+       # Already visited epsilon production that waits something before them
+       var _need_before_epsilons: Array[Prod] = new Array[Prod]
+
+       # Location of the last visited token in the current production
+       var _last_location: nullable Location = null
+
        redef fun visit(n: nullable ANode)
        do
                if n == null then
                        return
                else if n isa Token then
-                       _last_token = n
-                       for no in _untokenned_nodes do
-                               no.first_token = n
+                       var loc = n.location
+                       _last_location = loc
+
+                       # Add a first token to productions that need one
+                       for no in _need_first_prods do
+                               no._first_location = loc
+                       end
+                       _need_first_prods.clear
+
+                       # Find location for already visited epsilon production that need one
+                       for no in _need_after_epsilons do
+                               # Epsilon production that is in the middle of a non-epsilon production
+                               # The epsilon production has both a token before and after it
+                               var endl = loc
+                               var startl = no._last_location
+                               no.location = new Location(endl.file, startl.line_end, endl.line_start, startl.column_end, endl.column_start)
                        end
-                       _untokenned_nodes.clear
+                       _need_after_epsilons.clear
                else
                        assert n isa Prod
-                       _untokenned_nodes.add(n)
+                       _need_first_prods.add(n)
+
+                       var old_last = _last_location
+                       _last_location = null
                        n.visit_all(self)
-                       n.last_token = _last_token
+                       var endl = _last_location
+                       if endl == null then _last_location = old_last
 
-                       if n.first_token != null then
-                               var start_location = n.first_token.location
-                               var end_location = _last_token.location
+                       n._last_location = endl
+                       var startl = n._first_location
+                       if startl != null then
+                               # Non-epsilon production
+                               assert endl != null
 
-                               if start_location != null and end_location != null then
-                                       var file = end_location.file
-                                       var line_start = start_location.line_start
-                                       var line_end = end_location.line_end
-                                       var column_start = start_location.column_start
-                                       var column_end = end_location.column_end
-                                       n.location = new Location(file, line_start, line_end, column_start, column_end)
+                               n.location = new Location(startl.file, startl.line_start, endl.line_end, startl.column_start, endl.column_end)
+
+                               for no in _need_before_epsilons do
+                                       # Epsilon production that starts the current non-epsilon production
+                                       #var startl = n.location
+                                       no.location = new Location(startl.file, startl.line_start, startl.line_start, startl.column_start, startl.column_start)
+                               end
+                               _need_before_epsilons.clear
+
+                               for no in _need_after_epsilons do
+                                       # Epsilon production that finishes the current non-epsilon production
+                                       #var endl = n.location
+                                       no.location = new Location(endl.file, endl.line_end, endl.line_end, endl.column_end, endl.column_end)
+                               end
+                               _need_after_epsilons.clear
+                       else
+                               # No first token means epsilon production (or "throw all my tokens" production)
+                               # So, it must be located it later
+                               if endl == null then
+                                       # Epsilon production that starts a parent non-epsilon production
+                                       _need_before_epsilons.add(n)
+                               else
+                                       # Epsilon production in the middle or that finishes a parent non-epsilon production
+                                       _need_after_epsilons.add(n)
                                end
                        end
                end
        end
-       init
-       do
-               _untokenned_nodes = new Array[Prod]
-       end
+
+       init do end
 end
 
 # Each reduca action has its own class, this one is the root of the hierarchy.
@@ -5406,19 +5385,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist4
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist5
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist5
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist6
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5457,19 +5435,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5498,19 +5475,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -5549,19 +5525,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5603,19 +5578,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5647,19 +5621,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -5688,19 +5661,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -5732,19 +5704,18 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -5766,19 +5737,18 @@ special ReduceAction
                                        assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist3
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
+                                       var tkwvarnode7 = nodearraylist3
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist4
+                                       assert tattridnode8 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                null,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
+                                               tkwvarnode7,
+                                               tattridnode8,
                                                null,
                                                null
                                        )
@@ -5817,19 +5787,18 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5871,19 +5840,18 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -5915,19 +5883,18 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -5969,19 +5936,18 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -6026,19 +5992,18 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist8
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
+                                       var tkwvarnode11 = nodearraylist8
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist9
+                                       assert tattridnode12 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
                                                null
                                        )
@@ -6073,19 +6038,18 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -6117,19 +6081,18 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -6164,19 +6127,18 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
                                                null
                                        )
@@ -6201,19 +6163,18 @@ special ReduceAction
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist4
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
+                                       var tkwvarnode7 = nodearraylist4
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist5
+                                       assert tattridnode8 isa nullable TAttrid
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                tkwredefnode5,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
+                                               tkwvarnode7,
+                                               tattridnode8,
                                                null,
                                                null
                                        )
@@ -6250,22 +6211,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist4
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist5
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist5
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist6
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist7
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6304,22 +6264,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6348,22 +6307,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist6
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6402,22 +6360,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6459,22 +6416,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6506,22 +6462,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6550,22 +6505,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist6
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6597,22 +6551,21 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6634,22 +6587,21 @@ special ReduceAction
                                        assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist3
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable AType
+                                       var tkwvarnode7 = nodearraylist3
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist4
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var ptypenode9 = nodearraylist5
+                                       assert ptypenode9 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                null,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
-                                               ptypenode10,
+                                               tkwvarnode7,
+                                               tattridnode8,
+                                               ptypenode9,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6688,22 +6640,21 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6745,22 +6696,21 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6792,22 +6742,21 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6849,22 +6798,21 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6909,22 +6857,21 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist8
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable AType
+                                       var tkwvarnode11 = nodearraylist8
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist9
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist10
+                                       assert ptypenode13 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -6959,22 +6906,21 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist8
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -7006,22 +6952,21 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -7056,22 +7001,21 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist8
+                                       assert ptypenode11 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -7096,22 +7040,21 @@ special ReduceAction
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist4
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable AType
+                                       var tkwvarnode7 = nodearraylist4
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist5
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var ptypenode9 = nodearraylist6
+                                       assert ptypenode9 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                tkwredefnode5,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
-                                               ptypenode10,
+                                               tkwvarnode7,
+                                               tattridnode8,
+                                               ptypenode9,
                                                null
                                        )
                                        node_list = ppropdefnode1
@@ -7149,23 +7092,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist4
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist5
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist9
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist5
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist6
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist9
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7205,23 +7147,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist10
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7251,23 +7192,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7307,23 +7247,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist10
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7366,23 +7305,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7415,23 +7353,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7461,23 +7398,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7510,23 +7446,22 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7549,23 +7484,22 @@ special ReduceAction
                                        assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist3
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var pexprnode11 = nodearraylist7
-                                       assert pexprnode11 isa nullable AExpr
+                                       var tkwvarnode7 = nodearraylist3
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist4
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var pexprnode10 = nodearraylist7
+                                       assert pexprnode10 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                null,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
+                                               tkwvarnode7,
+                                               tattridnode8,
                                                null,
-                                               pexprnode11
+                                               pexprnode10
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7605,23 +7539,22 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist10
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7664,23 +7597,22 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7713,23 +7645,22 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7772,23 +7703,22 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7834,23 +7764,22 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist8
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist8
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist9
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var pexprnode14 = nodearraylist12
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
+                                               tkwvarnode11,
+                                               tattridnode12,
                                                null,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7886,23 +7815,22 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7935,23 +7863,22 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -7987,23 +7914,22 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
+                                               tkwvarnode9,
+                                               tattridnode10,
                                                null,
-                                               pexprnode13
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8029,23 +7955,22 @@ special ReduceAction
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist4
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable AExpr
+                                       var tkwvarnode7 = nodearraylist4
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist5
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                tkwredefnode5,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
+                                               tkwvarnode7,
+                                               tattridnode8,
                                                null,
-                                               tattridnode9,
-                                               null,
-                                               pexprnode11
+                                               pexprnode10
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8083,25 +8008,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist4
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist5
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist5
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist6
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist7
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist10
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8142,25 +8066,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8191,25 +8114,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist6
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8250,25 +8172,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8312,25 +8233,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist12
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                null,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8364,25 +8284,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8413,25 +8332,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist3
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist4
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist4
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist5
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist6
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist9
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8465,25 +8383,24 @@ special ReduceAction
                                        )
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                null,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8507,25 +8424,24 @@ special ReduceAction
                                        assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist3
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable AType
-                                       var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable AExpr
+                                       var tkwvarnode7 = nodearraylist3
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist4
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var ptypenode9 = nodearraylist5
+                                       assert ptypenode9 isa nullable AType
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                null,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               pexprnode11
+                                               tkwvarnode7,
+                                               tattridnode8,
+                                               ptypenode9,
+                                               pexprnode10
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8566,25 +8482,24 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist6
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist6
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist7
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist8
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist11
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8628,25 +8543,24 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist12
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8680,25 +8594,24 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8742,25 +8655,24 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist7
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist7
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist8
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist9
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist12
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8807,25 +8719,24 @@ special ReduceAction
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
                                        assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwattrnode11 = nodearraylist8
-                                       assert tkwattrnode11 isa nullable TKwattr
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable AExpr
+                                       var tkwvarnode11 = nodearraylist8
+                                       assert tkwvarnode11 isa nullable TKwvar
+                                       var tattridnode12 = nodearraylist9
+                                       assert tattridnode12 isa nullable TAttrid
+                                       var ptypenode13 = nodearraylist10
+                                       assert ptypenode13 isa nullable AType
+                                       var pexprnode14 = nodearraylist13
+                                       assert pexprnode14 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                pablenode6,
                                                tkwredefnode9,
                                                pvisibilitynode10,
-                                               tkwattrnode11,
-                                               null,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
+                                               tkwvarnode11,
+                                               tattridnode12,
+                                               ptypenode13,
+                                               pexprnode14
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8862,25 +8773,24 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist8
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist11
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
                                                null,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8914,25 +8824,24 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist5
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist5
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist6
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist7
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist10
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -8969,25 +8878,24 @@ special ReduceAction
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
                                        assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwattrnode9 = nodearraylist6
-                                       assert tkwattrnode9 isa nullable TKwattr
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable AExpr
+                                       var tkwvarnode9 = nodearraylist6
+                                       assert tkwvarnode9 isa nullable TKwvar
+                                       var tattridnode10 = nodearraylist7
+                                       assert tattridnode10 isa nullable TAttrid
+                                       var ptypenode11 = nodearraylist8
+                                       assert ptypenode11 isa nullable AType
+                                       var pexprnode12 = nodearraylist11
+                                       assert pexprnode12 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                pablenode4,
                                                tkwredefnode7,
                                                pvisibilitynode8,
-                                               tkwattrnode9,
-                                               null,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
+                                               tkwvarnode9,
+                                               tattridnode10,
+                                               ptypenode11,
+                                               pexprnode12
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9014,25 +8922,24 @@ special ReduceAction
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
                                        assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwattrnode7 = nodearraylist4
-                                       assert tkwattrnode7 isa nullable TKwattr
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable AType
-                                       var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable AExpr
+                                       var tkwvarnode7 = nodearraylist4
+                                       assert tkwvarnode7 isa nullable TKwvar
+                                       var tattridnode8 = nodearraylist5
+                                       assert tattridnode8 isa nullable TAttrid
+                                       var ptypenode9 = nodearraylist6
+                                       assert ptypenode9 isa nullable AType
+                                       var pexprnode10 = nodearraylist9
+                                       assert pexprnode10 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
                                                null,
                                                tkwredefnode5,
                                                pvisibilitynode6,
-                                               tkwattrnode7,
-                                               null,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               pexprnode11
+                                               tkwvarnode7,
+                                               tattridnode8,
+                                               ptypenode9,
+                                               pexprnode10
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9052,35 +8959,22 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist5
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwinitnode5 = nodearraylist3
+                                       assert tkwinitnode5 isa nullable TKwinit
+                                       var psignaturenode7 = nodearraylist4
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexprnode8 = nodearraylist6
+                                       assert pexprnode8 isa nullable AExpr
+                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
                                                null,
-                                               tkwvarnode12,
-                                               tattridnode13,
+                                               pvisibilitynode4,
+                                               tkwinitnode5,
                                                null,
-                                               null
+                                               psignaturenode7,
+                                               pexprnode8
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9101,37 +8995,24 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwinitnode5 = nodearraylist4
+                                       assert tkwinitnode5 isa nullable TKwinit
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
+                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwinitnode5,
                                                null,
-                                               null
+                                               psignaturenode7,
+                                               pexprnode8
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9143,6 +9024,8 @@ special 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
@@ -9150,29 +9033,24 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
+                                       var pvisibilitynode4 = nodearraylist2
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwinitnode5 = nodearraylist3
+                                       assert tkwinitnode5 isa nullable TKwinit
+                                       var pmethidnode6 = nodearraylist4
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist5
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
+                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
                                                null,
-                                               null
+                                               pvisibilitynode4,
+                                               tkwinitnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               pexprnode8
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9184,6 +9062,7 @@ special 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
@@ -9193,37 +9072,26 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
                                        assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
+                                       var tkwredefnode3 = nodearraylist2
+                                       assert tkwredefnode3 isa nullable TKwredef
+                                       var pvisibilitynode4 = nodearraylist3
+                                       assert pvisibilitynode4 isa nullable AVisibility
+                                       var tkwinitnode5 = nodearraylist4
+                                       assert tkwinitnode5 isa nullable TKwinit
+                                       var pmethidnode6 = nodearraylist5
+                                       assert pmethidnode6 isa nullable AMethid
+                                       var psignaturenode7 = nodearraylist6
+                                       assert psignaturenode7 isa nullable ASignature
+                                       var pexprnode8 = nodearraylist8
+                                       assert pexprnode8 isa nullable AExpr
+                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
+                                               tkwredefnode3,
+                                               pvisibilitynode4,
+                                               tkwinitnode5,
+                                               pmethidnode6,
+                                               psignaturenode7,
+                                               pexprnode8
                                        )
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(12), node_list)
@@ -9235,3627 +9103,6 @@ special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction179
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction180
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction181
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction182
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist3
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               null,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction183
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist4
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction184
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction185
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction186
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction187
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist6
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist8
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction188
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction189
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction190
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction191
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist4
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               tkwredefnode5,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               null,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction192
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist5
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction193
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction194
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction195
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction196
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction197
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction198
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction199
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction200
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist3
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               null,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction201
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist4
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction202
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction203
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction204
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction205
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist6
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist8
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction206
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction207
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction208
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction209
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist4
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable AType
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               tkwredefnode5,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               null
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction210
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist5
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist9
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction211
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction212
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction213
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction214
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction215
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction216
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction217
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction218
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist3
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var pexprnode11 = nodearraylist7
-                                       assert pexprnode11 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               null,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               null,
-                                               pexprnode11
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction219
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist4
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction220
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction221
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction222
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction223
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist6
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist8
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               null,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction224
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction225
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction226
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               null,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction227
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist4
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               tkwredefnode5,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               null,
-                                               pexprnode11
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction228
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist5
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist6
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction229
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction230
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction231
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction232
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               null,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction233
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction234
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist4
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist5
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction235
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               null,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction236
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist3
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist4
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable AType
-                                       var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               null,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               pexprnode11
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction237
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist3
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist4
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist6
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist7
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction238
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction239
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwreadablenode5 = nodearraylist2
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               null,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction240
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwwritablenode8 = nodearraylist4
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist5
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist7
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist8
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction241
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist13 = p.pop
-                                       var nodearraylist12 = p.pop
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var tkwwritablenode8 = nodearraylist5
-                                       assert tkwwritablenode8 isa nullable TKwwritable
-                                       var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode7,
-                                               tkwwritablenode8
-                                       )
-                                       var tkwredefnode9 = nodearraylist6
-                                       assert tkwredefnode9 isa nullable TKwredef
-                                       var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable AVisibility
-                                       var tkwvarnode12 = nodearraylist8
-                                       assert tkwvarnode12 isa nullable TKwvar
-                                       var tattridnode13 = nodearraylist9
-                                       assert tattridnode13 isa nullable TAttrid
-                                       var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable AType
-                                       var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               pablenode6,
-                                               tkwredefnode9,
-                                               pvisibilitynode10,
-                                               null,
-                                               tkwvarnode12,
-                                               tattridnode13,
-                                               ptypenode14,
-                                               pexprnode15
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction242
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode4 = nodearraylist2
-                                       assert tkwredefnode4 isa nullable TKwredef
-                                       var tkwreadablenode5 = nodearraylist3
-                                       assert tkwreadablenode5 isa nullable TKwreadable
-                                       var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
-                                               tkwredefnode4,
-                                               tkwreadablenode5
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               pablenode3,
-                                               null,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction243
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwwritablenode6 = nodearraylist2
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               null,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist3
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist5
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist6
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction244
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist11 = p.pop
-                                       var nodearraylist10 = p.pop
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var tkwwritablenode6 = nodearraylist3
-                                       assert tkwwritablenode6 isa nullable TKwwritable
-                                       var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
-                                               tkwredefnode5,
-                                               tkwwritablenode6
-                                       )
-                                       var tkwredefnode7 = nodearraylist4
-                                       assert tkwredefnode7 isa nullable TKwredef
-                                       var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable AVisibility
-                                       var tkwvarnode10 = nodearraylist6
-                                       assert tkwvarnode10 isa nullable TKwvar
-                                       var tattridnode11 = nodearraylist7
-                                       assert tattridnode11 isa nullable TAttrid
-                                       var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable AType
-                                       var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pablenode4,
-                                               tkwredefnode7,
-                                               pvisibilitynode8,
-                                               null,
-                                               tkwvarnode10,
-                                               tattridnode11,
-                                               ptypenode12,
-                                               pexprnode13
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction245
-special ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist9 = p.pop
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode5 = nodearraylist2
-                                       assert tkwredefnode5 isa nullable TKwredef
-                                       var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable AVisibility
-                                       var tkwvarnode8 = nodearraylist4
-                                       assert tkwvarnode8 isa nullable TKwvar
-                                       var tattridnode9 = nodearraylist5
-                                       assert tattridnode9 isa nullable TAttrid
-                                       var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable AType
-                                       var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable AExpr
-                                       var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
-                                               pdocnode2,
-                                               null,
-                                               null,
-                                               tkwredefnode5,
-                                               pvisibilitynode6,
-                                               null,
-                                               tkwvarnode8,
-                                               tattridnode9,
-                                               ptypenode10,
-                                               pexprnode11
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction246
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var tkwinitnode5 = nodearraylist3
-                                       assert tkwinitnode5 isa nullable TKwinit
-                                       var psignaturenode7 = nodearraylist4
-                                       assert psignaturenode7 isa nullable ASignature
-                                       var pexprnode8 = nodearraylist6
-                                       assert pexprnode8 isa nullable AExpr
-                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pvisibilitynode4,
-                                               tkwinitnode5,
-                                               null,
-                                               psignaturenode7,
-                                               pexprnode8
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction247
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var tkwinitnode5 = nodearraylist4
-                                       assert tkwinitnode5 isa nullable TKwinit
-                                       var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable ASignature
-                                       var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable AExpr
-                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               tkwinitnode5,
-                                               null,
-                                               psignaturenode7,
-                                               pexprnode8
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction248
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var tkwinitnode5 = nodearraylist3
-                                       assert tkwinitnode5 isa nullable TKwinit
-                                       var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable AMethid
-                                       var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable ASignature
-                                       var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable AExpr
-                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
-                                               pdocnode2,
-                                               null,
-                                               pvisibilitynode4,
-                                               tkwinitnode5,
-                                               pmethidnode6,
-                                               psignaturenode7,
-                                               pexprnode8
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction249
-special 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 pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable ADoc
-                                       var tkwredefnode3 = nodearraylist2
-                                       assert tkwredefnode3 isa nullable TKwredef
-                                       var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable AVisibility
-                                       var tkwinitnode5 = nodearraylist4
-                                       assert tkwinitnode5 isa nullable TKwinit
-                                       var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable AMethid
-                                       var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable ASignature
-                                       var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable AExpr
-                                       var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
-                                               pdocnode2,
-                                               tkwredefnode3,
-                                               pvisibilitynode4,
-                                               tkwinitnode5,
-                                               pmethidnode6,
-                                               psignaturenode7,
-                                               pexprnode8
-                                       )
-                                       node_list = ppropdefnode1
-                                       p.push(p.go_to(12), node_list)
-       end
-init do end
-end
-private class ReduceAction250
-special 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
@@ -12887,7 +9134,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction251
+private class ReduceAction179
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -12926,7 +9173,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction252
+private class ReduceAction180
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -12965,7 +9212,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction253
+private class ReduceAction181
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13007,7 +9254,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction254
+private class ReduceAction182
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13040,7 +9287,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction255
+private class ReduceAction183
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13076,7 +9323,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction256
+private class ReduceAction184
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13088,7 +9335,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction257
+private class ReduceAction185
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13105,7 +9352,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction258
+private class ReduceAction186
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13122,7 +9369,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction259
+private class ReduceAction187
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13139,7 +9386,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction260
+private class ReduceAction188
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13155,7 +9402,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction261
+private class ReduceAction189
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13171,7 +9418,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction262
+private class ReduceAction190
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13187,7 +9434,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction263
+private class ReduceAction191
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13203,7 +9450,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction264
+private class ReduceAction192
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13219,7 +9466,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction265
+private class ReduceAction193
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13235,7 +9482,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction266
+private class ReduceAction194
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13251,7 +9498,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction267
+private class ReduceAction195
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13267,7 +9514,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction268
+private class ReduceAction196
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13283,7 +9530,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction269
+private class ReduceAction197
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13299,7 +9546,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction270
+private class ReduceAction198
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13315,7 +9562,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction271
+private class ReduceAction199
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13331,7 +9578,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction272
+private class ReduceAction200
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13351,7 +9598,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction273
+private class ReduceAction201
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13367,7 +9614,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction274
+private class ReduceAction202
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13387,7 +9634,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction275
+private class ReduceAction203
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13411,7 +9658,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction276
+private class ReduceAction204
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13438,7 +9685,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction277
+private class ReduceAction205
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13475,7 +9722,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction278
+private class ReduceAction206
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13505,7 +9752,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction279
+private class ReduceAction207
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13545,7 +9792,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction280
+private class ReduceAction208
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13563,7 +9810,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction281
+private class ReduceAction209
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13591,7 +9838,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction282
+private class ReduceAction210
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13612,7 +9859,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction283
+private class ReduceAction211
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13643,7 +9890,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction284
+private class ReduceAction212
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13660,7 +9907,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction285
+private class ReduceAction213
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13687,7 +9934,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction286
+private class ReduceAction214
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13707,7 +9954,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction287
+private class ReduceAction215
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13737,7 +9984,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction288
+private class ReduceAction216
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13758,7 +10005,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction289
+private class ReduceAction217
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13789,7 +10036,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction290
+private class ReduceAction218
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13803,7 +10050,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction291
+private class ReduceAction219
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13818,7 +10065,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction292
+private class ReduceAction220
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13836,7 +10083,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction293
+private class ReduceAction221
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13857,7 +10104,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction294
+private class ReduceAction222
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13881,7 +10128,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction295
+private class ReduceAction223
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13903,7 +10150,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction296
+private class ReduceAction224
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13931,7 +10178,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction297
+private class ReduceAction225
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13962,7 +10209,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction298
+private class ReduceAction226
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -13994,7 +10241,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction299
+private class ReduceAction227
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14029,7 +10276,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction300
+private class ReduceAction228
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14048,7 +10295,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction301
+private class ReduceAction229
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14070,7 +10317,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction302
+private class ReduceAction230
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14103,7 +10350,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction303
+private class ReduceAction231
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14139,7 +10386,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction304
+private class ReduceAction232
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14156,7 +10403,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction305
+private class ReduceAction233
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14183,7 +10430,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction306
+private class ReduceAction234
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14198,7 +10445,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction307
+private class ReduceAction235
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14213,7 +10460,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction308
+private class ReduceAction236
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14236,7 +10483,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction309
+private class ReduceAction237
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14269,7 +10516,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction310
+private class ReduceAction238
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14285,7 +10532,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction311
+private class ReduceAction239
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14300,7 +10547,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction312
+private class ReduceAction240
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14313,7 +10560,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction313
+private class ReduceAction241
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14327,7 +10574,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction314
+private class ReduceAction242
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14340,7 +10587,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction315
+private class ReduceAction243
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14353,7 +10600,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction316
+private class ReduceAction244
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14370,7 +10617,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction317
+private class ReduceAction245
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14390,7 +10637,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction318
+private class ReduceAction246
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14408,7 +10655,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction319
+private class ReduceAction247
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14429,7 +10676,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction320
+private class ReduceAction248
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14450,7 +10697,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction321
+private class ReduceAction249
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14474,7 +10721,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction322
+private class ReduceAction250
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14490,7 +10737,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction323
+private class ReduceAction251
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14508,7 +10755,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction324
+private class ReduceAction252
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14529,7 +10776,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction325
+private class ReduceAction253
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14550,7 +10797,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction326
+private class ReduceAction254
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14574,7 +10821,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction327
+private class ReduceAction255
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14587,7 +10834,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction328
+private class ReduceAction256
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14600,7 +10847,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction329
+private class ReduceAction257
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14613,7 +10860,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction330
+private class ReduceAction258
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14626,7 +10873,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction331
+private class ReduceAction259
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14639,7 +10886,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction332
+private class ReduceAction260
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14675,7 +10922,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction333
+private class ReduceAction261
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14708,7 +10955,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction334
+private class ReduceAction262
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14754,7 +11001,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction335
+private class ReduceAction263
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14797,7 +11044,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction336
+private class ReduceAction264
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14826,7 +11073,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction337
+private class ReduceAction265
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14858,7 +11105,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction338
+private class ReduceAction266
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14892,7 +11139,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction339
+private class ReduceAction267
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14923,7 +11170,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction340
+private class ReduceAction268
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14943,7 +11190,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction341
+private class ReduceAction269
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14960,7 +11207,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction342
+private class ReduceAction270
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -14987,7 +11234,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction343
+private class ReduceAction271
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15024,7 +11271,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction344
+private class ReduceAction272
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15071,7 +11318,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction345
+private class ReduceAction273
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15101,7 +11348,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction346
+private class ReduceAction274
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15130,7 +11377,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction347
+private class ReduceAction275
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15177,7 +11424,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction348
+private class ReduceAction276
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15234,7 +11481,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction349
+private class ReduceAction277
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15274,7 +11521,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction350
+private class ReduceAction278
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15313,7 +11560,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction351
+private class ReduceAction279
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15353,7 +11600,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction352
+private class ReduceAction280
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15403,7 +11650,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction353
+private class ReduceAction281
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15436,7 +11683,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction354
+private class ReduceAction282
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15468,7 +11715,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction355
+private class ReduceAction283
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15518,7 +11765,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction356
+private class ReduceAction284
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15578,7 +11825,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction357
+private class ReduceAction285
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15621,7 +11868,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction358
+private class ReduceAction286
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15663,7 +11910,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction359
+private class ReduceAction287
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15690,7 +11937,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction360
+private class ReduceAction288
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15727,7 +11974,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction361
+private class ReduceAction289
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15763,7 +12010,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction362
+private class ReduceAction290
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15809,7 +12056,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction363
+private class ReduceAction291
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15855,7 +12102,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction364
+private class ReduceAction292
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15911,7 +12158,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction365
+private class ReduceAction293
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15936,7 +12183,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction366
+private class ReduceAction294
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15971,7 +12218,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction367
+private class ReduceAction295
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -15994,7 +12241,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction368
+private class ReduceAction296
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16020,7 +12267,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction369
+private class ReduceAction297
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16050,7 +12297,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction370
+private class ReduceAction298
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16083,7 +12330,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction371
+private class ReduceAction299
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16113,7 +12360,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction372
+private class ReduceAction300
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16140,7 +12387,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction373
+private class ReduceAction301
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16182,7 +12429,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction374
+private class ReduceAction302
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16221,7 +12468,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction375
+private class ReduceAction303
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16257,7 +12504,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction376
+private class ReduceAction304
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16287,7 +12534,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction377
+private class ReduceAction305
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16314,7 +12561,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction378
+private class ReduceAction306
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16356,7 +12603,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction379
+private class ReduceAction307
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16395,7 +12642,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction380
+private class ReduceAction308
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16431,7 +12678,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction381
+private class ReduceAction309
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16447,7 +12694,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction382
+private class ReduceAction310
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16463,7 +12710,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction383
+private class ReduceAction311
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16494,7 +12741,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction384
+private class ReduceAction312
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16535,7 +12782,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction385
+private class ReduceAction313
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16559,7 +12806,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction386
+private class ReduceAction314
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16582,7 +12829,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction387
+private class ReduceAction315
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16616,7 +12863,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction388
+private class ReduceAction316
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16660,7 +12907,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction389
+private class ReduceAction317
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16687,7 +12934,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction390
+private class ReduceAction318
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16713,7 +12960,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction391
+private class ReduceAction319
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16734,7 +12981,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction392
+private class ReduceAction320
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16766,7 +13013,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction393
+private class ReduceAction321
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16794,7 +13041,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction394
+private class ReduceAction322
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16834,7 +13081,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction395
+private class ReduceAction323
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16884,7 +13131,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction396
+private class ReduceAction324
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16912,7 +13159,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction397
+private class ReduceAction325
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16941,7 +13188,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction398
+private class ReduceAction326
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16955,7 +13202,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction399
+private class ReduceAction327
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -16966,7 +13213,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction400
+private class ReduceAction328
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17007,7 +13254,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction401
+private class ReduceAction329
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17058,7 +13305,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction402
+private class ReduceAction330
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17092,7 +13339,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction403
+private class ReduceAction331
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17125,7 +13372,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction404
+private class ReduceAction332
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17169,7 +13416,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction405
+private class ReduceAction333
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17223,7 +13470,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction406
+private class ReduceAction334
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17260,7 +13507,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction407
+private class ReduceAction335
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17296,7 +13543,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction408
+private class ReduceAction336
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17327,7 +13574,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction409
+private class ReduceAction337
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17375,7 +13622,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction410
+private class ReduceAction338
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17433,7 +13680,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction411
+private class ReduceAction339
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17474,7 +13721,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction412
+private class ReduceAction340
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17514,7 +13761,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction413
+private class ReduceAction341
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17565,7 +13812,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction414
+private class ReduceAction342
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17626,7 +13873,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction415
+private class ReduceAction343
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17670,7 +13917,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction416
+private class ReduceAction344
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17713,7 +13960,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction417
+private class ReduceAction345
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17751,7 +13998,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction418
+private class ReduceAction346
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17772,7 +14019,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction419
+private class ReduceAction347
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17796,7 +14043,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction420
+private class ReduceAction348
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17810,7 +14057,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction421
+private class ReduceAction349
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17823,7 +14070,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction422
+private class ReduceAction350
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17869,7 +14116,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction423
+private class ReduceAction351
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17912,7 +14159,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction424
+private class ReduceAction352
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17952,7 +14199,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction425
+private class ReduceAction353
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -17965,7 +14212,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction426
+private class ReduceAction354
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18006,7 +14253,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction427
+private class ReduceAction355
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18019,7 +14266,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction428
+private class ReduceAction356
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18041,7 +14288,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction429
+private class ReduceAction357
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18063,7 +14310,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction430
+private class ReduceAction358
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18076,7 +14323,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction431
+private class ReduceAction359
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18097,7 +14344,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction432
+private class ReduceAction360
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18110,7 +14357,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction433
+private class ReduceAction361
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18132,7 +14379,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction434
+private class ReduceAction362
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18154,7 +14401,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction435
+private class ReduceAction363
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18176,7 +14423,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction436
+private class ReduceAction364
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18198,7 +14445,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction437
+private class ReduceAction365
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18220,7 +14467,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction438
+private class ReduceAction366
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18242,7 +14489,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction439
+private class ReduceAction367
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18264,7 +14511,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction440
+private class ReduceAction368
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18286,7 +14533,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction441
+private class ReduceAction369
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18308,7 +14555,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction442
+private class ReduceAction370
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18321,7 +14568,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction443
+private class ReduceAction371
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18343,7 +14590,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction444
+private class ReduceAction372
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18365,7 +14612,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction445
+private class ReduceAction373
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18378,7 +14625,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction446
+private class ReduceAction374
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18400,7 +14647,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction447
+private class ReduceAction375
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18422,7 +14669,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction448
+private class ReduceAction376
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18444,7 +14691,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction449
+private class ReduceAction377
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18457,7 +14704,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction450
+private class ReduceAction378
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18478,7 +14725,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction451
+private class ReduceAction379
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18499,7 +14746,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction452
+private class ReduceAction380
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18512,7 +14759,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction453
+private class ReduceAction381
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18546,7 +14793,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction454
+private class ReduceAction382
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18572,7 +14819,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction455
+private class ReduceAction383
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18595,7 +14842,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction456
+private class ReduceAction384
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18617,7 +14864,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction457
+private class ReduceAction385
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18636,7 +14883,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction458
+private class ReduceAction386
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18672,7 +14919,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction459
+private class ReduceAction387
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18705,7 +14952,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction460
+private class ReduceAction388
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18734,7 +14981,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction461
+private class ReduceAction389
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18766,7 +15013,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction462
+private class ReduceAction390
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18800,7 +15047,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction463
+private class ReduceAction391
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18831,7 +15078,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction464
+private class ReduceAction392
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18861,7 +15108,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction465
+private class ReduceAction393
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18900,7 +15147,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction466
+private class ReduceAction394
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18927,7 +15174,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction467
+private class ReduceAction395
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18954,7 +15201,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction468
+private class ReduceAction396
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18978,7 +15225,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction469
+private class ReduceAction397
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -18994,7 +15241,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction470
+private class ReduceAction398
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19010,7 +15257,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction471
+private class ReduceAction399
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19026,7 +15273,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction472
+private class ReduceAction400
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19042,7 +15289,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction473
+private class ReduceAction401
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19058,7 +15305,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction474
+private class ReduceAction402
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19074,7 +15321,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction475
+private class ReduceAction403
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19090,7 +15337,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction476
+private class ReduceAction404
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19106,7 +15353,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction477
+private class ReduceAction405
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19119,7 +15366,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction478
+private class ReduceAction406
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19134,7 +15381,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction479
+private class ReduceAction407
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19165,7 +15412,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction480
+private class ReduceAction408
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19201,7 +15448,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction481
+private class ReduceAction409
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19231,7 +15478,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction482
+private class ReduceAction410
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19271,7 +15518,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction483
+private class ReduceAction411
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19296,7 +15543,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction484
+private class ReduceAction412
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19312,7 +15559,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction485
+private class ReduceAction413
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19337,7 +15584,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction486
+private class ReduceAction414
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19353,7 +15600,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction487
+private class ReduceAction415
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19369,7 +15616,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction488
+private class ReduceAction416
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19390,7 +15637,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction489
+private class ReduceAction417
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19421,7 +15668,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction490
+private class ReduceAction418
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19435,7 +15682,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction491
+private class ReduceAction419
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19446,7 +15693,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction492
+private class ReduceAction420
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19467,7 +15714,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction493
+private class ReduceAction421
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19498,7 +15745,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction494
+private class ReduceAction422
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19515,7 +15762,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction495
+private class ReduceAction423
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19529,7 +15776,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction496
+private class ReduceAction424
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19540,7 +15787,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction497
+private class ReduceAction425
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19561,7 +15808,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction498
+private class ReduceAction426
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19592,7 +15839,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction499
+private class ReduceAction427
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19608,7 +15855,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction500
+private class ReduceAction428
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19625,7 +15872,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction501
+private class ReduceAction429
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19655,7 +15902,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction502
+private class ReduceAction430
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19673,7 +15920,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction503
+private class ReduceAction431
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19701,7 +15948,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction504
+private class ReduceAction432
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19726,7 +15973,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction505
+private class ReduceAction433
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19741,7 +15988,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction506
+private class ReduceAction434
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19756,7 +16003,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction507
+private class ReduceAction435
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19766,7 +16013,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction508
+private class ReduceAction436
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19776,7 +16023,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction509
+private class ReduceAction437
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19800,7 +16047,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction510
+private class ReduceAction438
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19825,7 +16072,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction511
+private class ReduceAction439
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19836,7 +16083,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction512
+private class ReduceAction440
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19846,7 +16093,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction513
+private class ReduceAction441
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19859,7 +16106,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction514
+private class ReduceAction442
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19870,7 +16117,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction515
+private class ReduceAction443
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19882,7 +16129,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction516
+private class ReduceAction444
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19892,7 +16139,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction517
+private class ReduceAction445
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19906,7 +16153,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction518
+private class ReduceAction446
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19944,7 +16191,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction519
+private class ReduceAction447
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -19985,7 +16232,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction520
+private class ReduceAction448
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20024,7 +16271,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction521
+private class ReduceAction449
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20066,7 +16313,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction522
+private class ReduceAction450
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20102,7 +16349,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction523
+private class ReduceAction451
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20141,7 +16388,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction524
+private class ReduceAction452
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20180,7 +16427,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction525
+private class ReduceAction453
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20222,7 +16469,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction526
+private class ReduceAction454
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20241,7 +16488,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction527
+private class ReduceAction455
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20263,7 +16510,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction528
+private class ReduceAction456
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20276,7 +16523,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction529
+private class ReduceAction457
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20322,7 +16569,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction530
+private class ReduceAction458
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20365,7 +16612,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction531
+private class ReduceAction459
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20378,7 +16625,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction532
+private class ReduceAction460
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20419,7 +16666,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction533
+private class ReduceAction461
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20432,7 +16679,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction534
+private class ReduceAction462
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20454,7 +16701,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction535
+private class ReduceAction463
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20476,7 +16723,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction536
+private class ReduceAction464
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20489,7 +16736,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction537
+private class ReduceAction465
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20510,7 +16757,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction538
+private class ReduceAction466
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20523,7 +16770,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction539
+private class ReduceAction467
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20545,7 +16792,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction540
+private class ReduceAction468
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20567,7 +16814,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction541
+private class ReduceAction469
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20589,7 +16836,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction542
+private class ReduceAction470
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20611,7 +16858,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction543
+private class ReduceAction471
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20633,7 +16880,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction544
+private class ReduceAction472
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20655,7 +16902,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction545
+private class ReduceAction473
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20677,7 +16924,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction546
+private class ReduceAction474
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20699,7 +16946,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction547
+private class ReduceAction475
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20721,7 +16968,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction548
+private class ReduceAction476
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20734,7 +16981,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction549
+private class ReduceAction477
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20756,7 +17003,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction550
+private class ReduceAction478
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20778,7 +17025,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction551
+private class ReduceAction479
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20791,7 +17038,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction552
+private class ReduceAction480
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20813,7 +17060,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction553
+private class ReduceAction481
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20835,7 +17082,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction554
+private class ReduceAction482
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20857,7 +17104,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction555
+private class ReduceAction483
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20870,7 +17117,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction556
+private class ReduceAction484
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20891,7 +17138,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction557
+private class ReduceAction485
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20912,7 +17159,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction558
+private class ReduceAction486
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20925,7 +17172,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction559
+private class ReduceAction487
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20959,7 +17206,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction560
+private class ReduceAction488
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -20985,7 +17232,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction561
+private class ReduceAction489
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21008,7 +17255,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction562
+private class ReduceAction490
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21030,7 +17277,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction563
+private class ReduceAction491
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21049,7 +17296,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction564
+private class ReduceAction492
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21085,7 +17332,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction565
+private class ReduceAction493
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21118,7 +17365,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction566
+private class ReduceAction494
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21147,7 +17394,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction567
+private class ReduceAction495
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21179,7 +17426,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction568
+private class ReduceAction496
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21213,7 +17460,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction569
+private class ReduceAction497
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21244,7 +17491,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction570
+private class ReduceAction498
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21283,7 +17530,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction571
+private class ReduceAction499
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21299,7 +17546,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction572
+private class ReduceAction500
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21315,7 +17562,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction573
+private class ReduceAction501
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21331,7 +17578,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction574
+private class ReduceAction502
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21347,7 +17594,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction575
+private class ReduceAction503
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21363,7 +17610,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction576
+private class ReduceAction504
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21379,7 +17626,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction577
+private class ReduceAction505
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21395,7 +17642,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction578
+private class ReduceAction506
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21411,7 +17658,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction579
+private class ReduceAction507
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21424,7 +17671,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction580
+private class ReduceAction508
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21439,7 +17686,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction581
+private class ReduceAction509
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21470,7 +17717,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction582
+private class ReduceAction510
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21506,7 +17753,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction583
+private class ReduceAction511
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21529,7 +17776,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction584
+private class ReduceAction512
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21562,7 +17809,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction585
+private class ReduceAction513
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21578,7 +17825,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction586
+private class ReduceAction514
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21593,7 +17840,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction587
+private class ReduceAction515
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21606,7 +17853,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction588
+private class ReduceAction516
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21619,7 +17866,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction589
+private class ReduceAction517
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21632,7 +17879,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction590
+private class ReduceAction518
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21649,7 +17896,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction591
+private class ReduceAction519
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21669,7 +17916,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction592
+private class ReduceAction520
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21687,7 +17934,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction593
+private class ReduceAction521
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21708,7 +17955,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction594
+private class ReduceAction522
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21729,7 +17976,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction595
+private class ReduceAction523
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21753,7 +18000,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction596
+private class ReduceAction524
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21769,7 +18016,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction597
+private class ReduceAction525
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21787,7 +18034,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction598
+private class ReduceAction526
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21808,7 +18055,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction599
+private class ReduceAction527
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21829,7 +18076,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction600
+private class ReduceAction528
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21853,7 +18100,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction601
+private class ReduceAction529
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21866,7 +18113,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction602
+private class ReduceAction530
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21879,7 +18126,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction603
+private class ReduceAction531
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21892,7 +18139,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction604
+private class ReduceAction532
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21905,7 +18152,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction605
+private class ReduceAction533
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21918,7 +18165,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction606
+private class ReduceAction534
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21954,7 +18201,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction607
+private class ReduceAction535
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -21987,7 +18234,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction608
+private class ReduceAction536
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22033,7 +18280,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction609
+private class ReduceAction537
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22076,7 +18323,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction610
+private class ReduceAction538
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22105,7 +18352,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction611
+private class ReduceAction539
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22137,7 +18384,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction612
+private class ReduceAction540
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22171,7 +18418,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction613
+private class ReduceAction541
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22202,7 +18449,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction614
+private class ReduceAction542
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22219,7 +18466,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction615
+private class ReduceAction543
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22246,7 +18493,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction616
+private class ReduceAction544
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22283,7 +18530,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction617
+private class ReduceAction545
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22330,7 +18577,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction618
+private class ReduceAction546
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22360,7 +18607,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction619
+private class ReduceAction547
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22389,7 +18636,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction620
+private class ReduceAction548
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22436,7 +18683,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction621
+private class ReduceAction549
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22493,7 +18740,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction622
+private class ReduceAction550
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22533,7 +18780,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction623
+private class ReduceAction551
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22572,7 +18819,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction624
+private class ReduceAction552
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22612,7 +18859,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction625
+private class ReduceAction553
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22662,7 +18909,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction626
+private class ReduceAction554
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22695,7 +18942,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction627
+private class ReduceAction555
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22727,7 +18974,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction628
+private class ReduceAction556
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22777,7 +19024,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction629
+private class ReduceAction557
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22837,7 +19084,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction630
+private class ReduceAction558
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22880,7 +19127,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction631
+private class ReduceAction559
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22922,7 +19169,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction632
+private class ReduceAction560
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22949,7 +19196,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction633
+private class ReduceAction561
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -22986,7 +19233,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction634
+private class ReduceAction562
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23009,7 +19256,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction635
+private class ReduceAction563
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23035,7 +19282,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction636
+private class ReduceAction564
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23065,7 +19312,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction637
+private class ReduceAction565
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23098,7 +19345,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction638
+private class ReduceAction566
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23128,7 +19375,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction639
+private class ReduceAction567
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23155,7 +19402,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction640
+private class ReduceAction568
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23197,7 +19444,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction641
+private class ReduceAction569
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23236,7 +19483,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction642
+private class ReduceAction570
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23272,7 +19519,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction643
+private class ReduceAction571
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23302,7 +19549,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction644
+private class ReduceAction572
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23329,7 +19576,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction645
+private class ReduceAction573
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23371,7 +19618,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction646
+private class ReduceAction574
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23410,7 +19657,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction647
+private class ReduceAction575
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23446,7 +19693,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction648
+private class ReduceAction576
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23477,7 +19724,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction649
+private class ReduceAction577
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23518,7 +19765,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction650
+private class ReduceAction578
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23542,7 +19789,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction651
+private class ReduceAction579
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23565,7 +19812,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction652
+private class ReduceAction580
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23599,7 +19846,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction653
+private class ReduceAction581
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23643,7 +19890,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction654
+private class ReduceAction582
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23670,7 +19917,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction655
+private class ReduceAction583
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23696,7 +19943,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction656
+private class ReduceAction584
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23717,7 +19964,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction657
+private class ReduceAction585
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23749,7 +19996,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction658
+private class ReduceAction586
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23790,7 +20037,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction659
+private class ReduceAction587
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23841,7 +20088,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction660
+private class ReduceAction588
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23875,7 +20122,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction661
+private class ReduceAction589
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23908,7 +20155,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction662
+private class ReduceAction590
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -23952,7 +20199,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction663
+private class ReduceAction591
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24006,7 +20253,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction664
+private class ReduceAction592
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24043,7 +20290,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction665
+private class ReduceAction593
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24079,7 +20326,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction666
+private class ReduceAction594
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24110,7 +20357,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction667
+private class ReduceAction595
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24158,7 +20405,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction668
+private class ReduceAction596
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24216,7 +20463,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction669
+private class ReduceAction597
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24257,7 +20504,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction670
+private class ReduceAction598
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24297,7 +20544,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction671
+private class ReduceAction599
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24348,7 +20595,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction672
+private class ReduceAction600
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24409,7 +20656,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction673
+private class ReduceAction601
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24453,7 +20700,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction674
+private class ReduceAction602
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24496,7 +20743,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction675
+private class ReduceAction603
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24534,7 +20781,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction676
+private class ReduceAction604
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24555,7 +20802,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction677
+private class ReduceAction605
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24579,7 +20826,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction678
+private class ReduceAction606
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24592,7 +20839,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction679
+private class ReduceAction607
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24638,7 +20885,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction680
+private class ReduceAction608
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24681,7 +20928,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction681
+private class ReduceAction609
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24721,7 +20968,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction682
+private class ReduceAction610
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24734,7 +20981,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction683
+private class ReduceAction611
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24780,7 +21027,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction684
+private class ReduceAction612
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24823,7 +21070,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction685
+private class ReduceAction613
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24836,7 +21083,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction686
+private class ReduceAction614
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24882,7 +21129,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction687
+private class ReduceAction615
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24925,7 +21172,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction688
+private class ReduceAction616
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24938,7 +21185,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction689
+private class ReduceAction617
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24979,7 +21226,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction690
+private class ReduceAction618
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -24992,7 +21239,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction691
+private class ReduceAction619
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25014,7 +21261,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction692
+private class ReduceAction620
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25036,7 +21283,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction693
+private class ReduceAction621
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25049,7 +21296,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction694
+private class ReduceAction622
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25070,7 +21317,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction695
+private class ReduceAction623
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25083,7 +21330,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction696
+private class ReduceAction624
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25105,7 +21352,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction697
+private class ReduceAction625
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25127,7 +21374,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction698
+private class ReduceAction626
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25149,7 +21396,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction699
+private class ReduceAction627
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25171,7 +21418,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction700
+private class ReduceAction628
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25193,7 +21440,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction701
+private class ReduceAction629
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25215,7 +21462,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction702
+private class ReduceAction630
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25237,7 +21484,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction703
+private class ReduceAction631
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25259,7 +21506,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction704
+private class ReduceAction632
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25281,7 +21528,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction705
+private class ReduceAction633
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25294,7 +21541,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction706
+private class ReduceAction634
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25316,7 +21563,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction707
+private class ReduceAction635
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25338,7 +21585,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction708
+private class ReduceAction636
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25351,7 +21598,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction709
+private class ReduceAction637
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25373,7 +21620,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction710
+private class ReduceAction638
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25395,7 +21642,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction711
+private class ReduceAction639
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25417,7 +21664,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction712
+private class ReduceAction640
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25430,7 +21677,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction713
+private class ReduceAction641
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25451,7 +21698,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction714
+private class ReduceAction642
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25472,7 +21719,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction715
+private class ReduceAction643
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25485,7 +21732,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction716
+private class ReduceAction644
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25519,7 +21766,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction717
+private class ReduceAction645
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25545,7 +21792,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction718
+private class ReduceAction646
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25568,7 +21815,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction719
+private class ReduceAction647
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25590,7 +21837,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction720
+private class ReduceAction648
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25609,7 +21856,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction721
+private class ReduceAction649
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25645,7 +21892,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction722
+private class ReduceAction650
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25678,7 +21925,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction723
+private class ReduceAction651
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25707,7 +21954,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction724
+private class ReduceAction652
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25739,7 +21986,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction725
+private class ReduceAction653
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25773,7 +22020,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction726
+private class ReduceAction654
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25804,7 +22051,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction727
+private class ReduceAction655
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25843,7 +22090,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction728
+private class ReduceAction656
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25859,7 +22106,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction729
+private class ReduceAction657
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25875,7 +22122,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction730
+private class ReduceAction658
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25891,7 +22138,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction731
+private class ReduceAction659
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25907,7 +22154,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction732
+private class ReduceAction660
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25923,7 +22170,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction733
+private class ReduceAction661
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25939,7 +22186,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction734
+private class ReduceAction662
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25955,7 +22202,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction735
+private class ReduceAction663
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25971,7 +22218,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction736
+private class ReduceAction664
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -25984,7 +22231,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction737
+private class ReduceAction665
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26015,7 +22262,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction738
+private class ReduceAction666
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26051,7 +22298,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction739
+private class ReduceAction667
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26064,7 +22311,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction740
+private class ReduceAction668
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26110,7 +22357,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction741
+private class ReduceAction669
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26153,7 +22400,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction742
+private class ReduceAction670
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26166,7 +22413,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction743
+private class ReduceAction671
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26207,7 +22454,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction744
+private class ReduceAction672
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26220,7 +22467,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction745
+private class ReduceAction673
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26242,7 +22489,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction746
+private class ReduceAction674
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26264,7 +22511,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction747
+private class ReduceAction675
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26277,7 +22524,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction748
+private class ReduceAction676
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26298,7 +22545,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction749
+private class ReduceAction677
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26311,7 +22558,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction750
+private class ReduceAction678
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26333,7 +22580,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction751
+private class ReduceAction679
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26355,7 +22602,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction752
+private class ReduceAction680
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26377,7 +22624,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction753
+private class ReduceAction681
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26399,7 +22646,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction754
+private class ReduceAction682
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26421,7 +22668,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction755
+private class ReduceAction683
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26443,7 +22690,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction756
+private class ReduceAction684
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26465,7 +22712,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction757
+private class ReduceAction685
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26487,7 +22734,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction758
+private class ReduceAction686
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26509,7 +22756,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction759
+private class ReduceAction687
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26522,7 +22769,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction760
+private class ReduceAction688
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26544,7 +22791,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction761
+private class ReduceAction689
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26566,7 +22813,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction762
+private class ReduceAction690
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26579,7 +22826,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction763
+private class ReduceAction691
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26601,7 +22848,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction764
+private class ReduceAction692
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26623,7 +22870,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction765
+private class ReduceAction693
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26645,7 +22892,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction766
+private class ReduceAction694
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26658,7 +22905,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction767
+private class ReduceAction695
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26679,7 +22926,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction768
+private class ReduceAction696
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26700,7 +22947,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction769
+private class ReduceAction697
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26713,7 +22960,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction770
+private class ReduceAction698
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26747,7 +22994,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction771
+private class ReduceAction699
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26771,7 +23018,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction772
+private class ReduceAction700
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26791,7 +23038,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction773
+private class ReduceAction701
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26825,7 +23072,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction774
+private class ReduceAction702
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26854,7 +23101,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction775
+private class ReduceAction703
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26886,7 +23133,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction776
+private class ReduceAction704
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26918,7 +23165,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction777
+private class ReduceAction705
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26957,7 +23204,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction778
+private class ReduceAction706
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26973,7 +23220,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction779
+private class ReduceAction707
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -26989,7 +23236,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction780
+private class ReduceAction708
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27005,7 +23252,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction781
+private class ReduceAction709
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27021,7 +23268,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction782
+private class ReduceAction710
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27037,7 +23284,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction783
+private class ReduceAction711
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27053,7 +23300,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction784
+private class ReduceAction712
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27069,7 +23316,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction785
+private class ReduceAction713
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27085,7 +23332,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction786
+private class ReduceAction714
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27098,7 +23345,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction787
+private class ReduceAction715
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27129,7 +23376,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction788
+private class ReduceAction716
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27165,7 +23412,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction789
+private class ReduceAction717
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27180,7 +23427,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction790
+private class ReduceAction718
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27192,7 +23439,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction791
+private class ReduceAction719
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27205,7 +23452,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction792
+private class ReduceAction720
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27251,7 +23498,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction793
+private class ReduceAction721
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27294,7 +23541,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction794
+private class ReduceAction722
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27307,7 +23554,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction795
+private class ReduceAction723
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27353,7 +23600,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction796
+private class ReduceAction724
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27396,7 +23643,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction797
+private class ReduceAction725
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27413,7 +23660,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction798
+private class ReduceAction726
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27440,7 +23687,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction799
+private class ReduceAction727
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27457,7 +23704,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction800
+private class ReduceAction728
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27484,7 +23731,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction801
+private class ReduceAction729
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27501,7 +23748,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction802
+private class ReduceAction730
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27528,7 +23775,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction803
+private class ReduceAction731
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27545,7 +23792,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction804
+private class ReduceAction732
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27572,7 +23819,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction805
+private class ReduceAction733
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27589,7 +23836,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction806
+private class ReduceAction734
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27616,7 +23863,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction807
+private class ReduceAction735
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27633,7 +23880,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction808
+private class ReduceAction736
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27660,7 +23907,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction809
+private class ReduceAction737
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27677,7 +23924,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction810
+private class ReduceAction738
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27704,7 +23951,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction811
+private class ReduceAction739
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27721,7 +23968,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction812
+private class ReduceAction740
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27748,7 +23995,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction813
+private class ReduceAction741
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27765,7 +24012,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction814
+private class ReduceAction742
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27792,7 +24039,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction815
+private class ReduceAction743
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27813,7 +24060,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction816
+private class ReduceAction744
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27844,7 +24091,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction817
+private class ReduceAction745
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27861,7 +24108,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction818
+private class ReduceAction746
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27888,7 +24135,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction819
+private class ReduceAction747
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27905,7 +24152,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction820
+private class ReduceAction748
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27932,7 +24179,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction821
+private class ReduceAction749
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27949,7 +24196,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction822
+private class ReduceAction750
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27976,7 +24223,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction823
+private class ReduceAction751
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -27993,7 +24240,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction824
+private class ReduceAction752
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -28020,7 +24267,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction825
+private class ReduceAction753
 special ReduceAction
        redef fun action(p: Parser)
        do
@@ -28037,7 +24284,7 @@ special ReduceAction
        end
 init do end
 end
-private class ReduceAction826
+private class ReduceAction754
 special ReduceAction
        redef fun action(p: Parser)
        do