parser: rename all P* prod classes to A*
authorJean Privat <jean@pryen.org>
Sun, 26 Jul 2009 04:41:57 +0000 (00:41 -0400)
committerJean Privat <jean@pryen.org>
Mon, 27 Jul 2009 07:36:21 +0000 (03:36 -0400)
Now, A stands for AST, not alternative :)

Signed-off-by: Jean Privat <jean@pryen.org>

15 files changed:
src/nitdoc.nit
src/parser/Makefile
src/parser/lexer.nit
src/parser/parser.nit
src/parser/parser_abs.nit
src/parser/parser_nodes.nit
src/parser/parser_prod.nit
src/parser/test_parser.nit
src/syntax/control_flow.nit
src/syntax/escape.nit
src/syntax/icode_generation.nit
src/syntax/mmbuilder.nit
src/syntax/syntax.nit
src/syntax/syntax_base.nit
src/syntax/typing.nit

index b6f8bef..ba0e164 100644 (file)
@@ -492,15 +492,13 @@ special MMEntity
        redef fun doc
        do
                var n = node
-               if n == null or not node isa PPropdef then
+               if n == null or not n isa APropdef then
                        return null
                end
-               assert n isa PPropdef
                var d = n.n_doc
                if d == null then
                        return null
                end
-               assert d isa ADoc
                if d.n_comment.is_empty then
                        return null
                else
@@ -660,12 +658,10 @@ redef class MMSrcModule
                        return null
                end
                var np = n.n_packagedecl
-               assert np isa APackagedecl
                var d = np.n_doc
                if d == null then
                        return null
                end
-               assert d isa ADoc
                if d.n_comment.is_empty then
                        return null
                else
@@ -1077,12 +1073,10 @@ redef class MMSrcLocalClass
                if not n isa AStdClassdef then
                        return null
                end
-               assert n isa AStdClassdef
                var d = n.n_doc
                if d == null then
                        return null
                end
-               assert d isa ADoc
                if d.n_comment.is_empty then
                        return null
                else
index bcb2877..b2a1129 100644 (file)
@@ -25,6 +25,7 @@ all: parser.nit
 # Note that parser_nodes is automatically synced with the grammar
 parser.nit: .nit.sablecc3 xss/*.xss
        ${SABLECC} -c .nit.sablecc3.dump -t xss/main.xss -p usermodule parser_nodes .nit.sablecc3
+       sed -i -e 's/\([ []\)P\([A-Z]\)/\1A\2/g' parser.nit parser_abs.nit parser_prod.nit parser_tables.nit lexer.nit
 
 clean:
        rm -f -- .nit.sablecc3 .nit.sablecc3.dump || true
index 9e56c83..e48b7de 100644 (file)
@@ -1146,7 +1146,7 @@ redef class EOF
     end
 end
 
-redef class PError
+redef class AError
     readable writable var _message: String 
     
     init init_error(message: String, loc: Location)
@@ -2032,7 +2032,7 @@ class Lexer
                                else
                                        var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
                                        if text.length > 0 then
-                                               var token = new PError.init_error("Unknown token: {text}", location)
+                                               var token = new AError.init_error("Unknown token: {text}", location)
                                                return token
                                        else
                                                var token = new EOF(location)
index 131eba1..04b1385 100644 (file)
@@ -105,7 +105,7 @@ special ParserTable
                        var last_pos = token.location.column_start
                        var last_line = token.location.line_start
 
-                       if token isa PError then
+                       if token isa AError then
                                return new Start(null, token)
                        end
 
@@ -140,13 +140,13 @@ special ParserTable
                                var node2 = lexer.next
                                assert node2 isa EOF
                                var node1 = pop
-                               assert node1 isa PModule
+                               assert node1 isa AModule
                                var node = new Start(node1, node2)
                                (new SearchTokensVisitor).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 PError.init_error(error_messages[errors[action_value]],location)
+                               var node2 = new AError.init_error(error_messages[errors[action_value]],location)
                                var node = new Start(null, node2)
                                return node
                        end
@@ -905,7 +905,7 @@ private class SearchTokensVisitor
 special Visitor
        var _untokenned_nodes: Array[Prod]
        var _last_token: nullable Token = null
-       redef fun visit(n: nullable PNode)
+       redef fun visit(n: nullable ANode)
        do
                if n == null then
                        return
@@ -973,7 +973,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
                                                ppackagedeclnode2,
                                                listnode3,
@@ -1021,7 +1021,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1078,7 +1078,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
 #                                      if listnode4 != null then
@@ -1146,7 +1146,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1186,7 +1186,7 @@ special ReduceAction
                                        var listnode7 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -1218,7 +1218,7 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist3
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -1258,10 +1258,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -1293,10 +1293,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist4
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -1346,7 +1346,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1388,7 +1388,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1429,7 +1429,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1441,7 +1441,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1474,7 +1474,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1486,7 +1486,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1529,7 +1529,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1571,7 +1571,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1619,12 +1619,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1664,12 +1664,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1729,7 +1729,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -1781,7 +1781,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist5
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -1830,7 +1830,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1844,7 +1844,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -1885,7 +1885,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1899,7 +1899,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -1944,7 +1944,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var pclassdefnode4 = nodearraylist1
-                                       assert pclassdefnode4 isa nullable PClassdef
+                                       assert pclassdefnode4 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode5.add(pclassdefnode4)
                                        end
@@ -1968,9 +1968,9 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var pclassdefnode4 = nodearraylist2
-                                       assert pclassdefnode4 isa nullable PClassdef
+                                       assert pclassdefnode4 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode5.add(pclassdefnode4)
                                        end
@@ -2003,7 +2003,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var pclassdefnode5 = nodearraylist2
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode6.add(pclassdefnode5)
                                        end
@@ -2028,7 +2028,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2039,7 +2039,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var pclassdefnode5 = nodearraylist3
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode6.add(pclassdefnode5)
                                        end
@@ -2065,7 +2065,7 @@ special ReduceAction
                                        var listnode4 = nodearraylist1
                                        assert listnode4 isa Array[Object]
                                        var pclassdefnode5 = nodearraylist2
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode6.is_empty then
                                                        listnode6 = listnode4
@@ -2097,11 +2097,11 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var pclassdefnode5 = nodearraylist3
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode6.is_empty then
                                                        listnode6 = listnode4
@@ -2144,7 +2144,7 @@ special ReduceAction
                                        var listnode5 = nodearraylist2
                                        assert listnode5 isa Array[Object]
                                        var pclassdefnode6 = nodearraylist3
-                                       assert pclassdefnode6 isa nullable PClassdef
+                                       assert pclassdefnode6 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode7.is_empty then
                                                        listnode7 = listnode5
@@ -2177,7 +2177,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2190,7 +2190,7 @@ special ReduceAction
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
                                        var pclassdefnode6 = nodearraylist4
-                                       assert pclassdefnode6 isa nullable PClassdef
+                                       assert pclassdefnode6 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode7.is_empty then
                                                        listnode7 = listnode5
@@ -2223,7 +2223,7 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -2231,7 +2231,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pclassdefnode7 = nodearraylist3
-                                       assert pclassdefnode7 isa nullable PClassdef
+                                       assert pclassdefnode7 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode8.add(pclassdefnode4)
                                        end
@@ -2261,7 +2261,7 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist3
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -2278,7 +2278,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode9.add(pclassdefnode4)
                                        end
@@ -2307,10 +2307,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -2318,7 +2318,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pclassdefnode7 = nodearraylist4
-                                       assert pclassdefnode7 isa nullable PClassdef
+                                       assert pclassdefnode7 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode8.add(pclassdefnode4)
                                        end
@@ -2348,10 +2348,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist4
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -2368,7 +2368,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode9.add(pclassdefnode4)
                                        end
@@ -2407,7 +2407,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2415,7 +2415,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode9.add(pclassdefnode5)
                                        end
@@ -2455,7 +2455,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2472,7 +2472,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode10.add(pclassdefnode5)
                                        end
@@ -2502,7 +2502,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2514,7 +2514,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2522,7 +2522,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode9.add(pclassdefnode5)
                                        end
@@ -2553,7 +2553,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2565,7 +2565,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2582,7 +2582,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode10.add(pclassdefnode5)
                                        end
@@ -2614,7 +2614,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2622,7 +2622,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode9.is_empty then
                                                        listnode9 = listnode4
@@ -2662,7 +2662,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2679,7 +2679,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode4
@@ -2716,12 +2716,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2729,7 +2729,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode9.is_empty then
                                                        listnode9 = listnode4
@@ -2767,12 +2767,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2789,7 +2789,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode4
@@ -2838,7 +2838,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -2846,7 +2846,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode5
@@ -2896,7 +2896,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist5
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -2913,7 +2913,7 @@ special ReduceAction
                                                listnode9
                                        )
                                        var pclassdefnode10 = nodearraylist6
-                                       assert pclassdefnode10 isa nullable PClassdef
+                                       assert pclassdefnode10 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode11.is_empty then
                                                        listnode11 = listnode5
@@ -2951,7 +2951,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2965,7 +2965,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -2973,7 +2973,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode5
@@ -3012,7 +3012,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -3026,7 +3026,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -3043,7 +3043,7 @@ special ReduceAction
                                                listnode9
                                        )
                                        var pclassdefnode10 = nodearraylist7
-                                       assert pclassdefnode10 isa nullable PClassdef
+                                       assert pclassdefnode10 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode11.is_empty then
                                                        listnode11 = listnode5
@@ -3078,7 +3078,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwpackagenode3 = nodearraylist2
                                        assert tkwpackagenode3 isa nullable TKwpackage
                                        var tidnode4 = nodearraylist4
@@ -3105,7 +3105,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pvisibilitynode2 = nodearraylist2
-                                       assert pvisibilitynode2 isa nullable PVisibility
+                                       assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
                                        var tidnode4 = nodearraylist5
@@ -3132,7 +3132,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pvisibilitynode2 = nodearraylist2
-                                       assert pvisibilitynode2 isa nullable PVisibility
+                                       assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
                                        var tkwendnode4 = nodearraylist5
@@ -3155,7 +3155,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var ppropdefnode2 = nodearraylist1
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
                                        if ppropdefnode2 != null then
                                                listnode3.add(ppropdefnode2)
                                        end
@@ -3188,7 +3188,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        if pexprnode4 != null then
                                                listnode5.add(pexprnode4)
                                        end
@@ -3215,7 +3215,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode6 = new Array[Object]
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
                                        if pexprnode4 != null then
@@ -3256,11 +3256,11 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
@@ -3295,13 +3295,13 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
@@ -3336,11 +3336,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3385,13 +3385,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -3435,11 +3435,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -3484,13 +3484,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -3535,11 +3535,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3594,13 +3594,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -3654,15 +3654,15 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist6
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        if ppropdefnode9 != null then
                                                listnode10.add(ppropdefnode9)
                                        end
@@ -3700,15 +3700,15 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist6
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        var listnode10 = nodearraylist8
                                        assert listnode10 isa Array[Object]
                                        if ppropdefnode9 != null then
@@ -3755,17 +3755,17 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist7
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        if ppropdefnode9 != null then
                                                listnode10.add(ppropdefnode9)
                                        end
@@ -3804,17 +3804,17 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist7
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        var listnode10 = nodearraylist9
                                        assert listnode10 isa Array[Object]
                                        if ppropdefnode9 != null then
@@ -3861,11 +3861,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3878,7 +3878,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
@@ -3917,11 +3917,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3934,7 +3934,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist9
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -3982,13 +3982,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4001,7 +4001,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
@@ -4041,13 +4041,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4060,7 +4060,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist10
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4107,11 +4107,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -4124,7 +4124,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
@@ -4163,11 +4163,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -4180,7 +4180,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist9
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4228,13 +4228,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -4247,7 +4247,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
@@ -4287,13 +4287,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -4306,7 +4306,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist10
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4354,11 +4354,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -4380,7 +4380,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist8
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        if ppropdefnode11 != null then
                                                listnode12.add(ppropdefnode11)
                                        end
@@ -4420,11 +4420,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -4446,7 +4446,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist8
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        var listnode12 = nodearraylist10
                                        assert listnode12 isa Array[Object]
                                        if ppropdefnode11 != null then
@@ -4495,13 +4495,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4523,7 +4523,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist9
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        if ppropdefnode11 != null then
                                                listnode12.add(ppropdefnode11)
                                        end
@@ -4564,13 +4564,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4592,7 +4592,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist9
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        var listnode12 = nodearraylist11
                                        assert listnode12 isa Array[Object]
                                        if ppropdefnode11 != null then
@@ -4700,7 +4700,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -4722,7 +4722,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        var listnode2 = nodearraylist4
                                        assert listnode2 isa Array[Object]
                                        if pformaldefnode1 != null then
@@ -4749,7 +4749,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(8), node_list)
        end
@@ -4782,7 +4782,7 @@ special ReduceAction
                                        var tclassidnode2 = nodearraylist1
                                        assert tclassidnode2 isa nullable TClassid
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
                                                tclassidnode2,
                                                ptypenode3
@@ -4804,7 +4804,7 @@ special ReduceAction
                                        var tkwspecialnode2 = nodearraylist2
                                        assert tkwspecialnode2 isa nullable TKwspecial
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psuperclassnode1: nullable ASuperclass = new ASuperclass.init_asuperclass(
                                                tkwspecialnode2,
                                                ptypenode3
@@ -4822,7 +4822,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(11), node_list)
        end
@@ -4841,17 +4841,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -4880,19 +4880,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -4921,17 +4921,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -4961,19 +4961,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5001,15 +5001,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5037,17 +5037,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5074,15 +5074,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5110,17 +5110,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5147,15 +5147,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5184,17 +5184,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5223,15 +5223,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist8
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -5263,17 +5263,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist9
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -5302,7 +5302,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5316,7 +5316,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist5
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist6
@@ -5351,7 +5351,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5367,7 +5367,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5400,7 +5400,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5408,7 +5408,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
@@ -5443,7 +5443,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5459,7 +5459,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5495,7 +5495,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5513,7 +5513,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5547,7 +5547,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5557,7 +5557,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5590,7 +5590,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -5598,7 +5598,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
@@ -5632,7 +5632,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -5642,7 +5642,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5674,9 +5674,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist3
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist4
@@ -5711,7 +5711,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5727,7 +5727,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5763,7 +5763,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5781,7 +5781,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5815,7 +5815,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5825,7 +5825,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5861,7 +5861,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5879,7 +5879,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5916,7 +5916,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5936,7 +5936,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist8
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist9
@@ -5971,7 +5971,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5983,7 +5983,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
@@ -6017,7 +6017,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6027,7 +6027,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -6062,7 +6062,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6074,7 +6074,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
@@ -6107,11 +6107,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist4
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist5
@@ -6146,7 +6146,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6160,13 +6160,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6198,7 +6198,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6214,13 +6214,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6250,7 +6250,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6258,13 +6258,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6296,7 +6296,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6312,13 +6312,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6351,7 +6351,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6369,13 +6369,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6406,7 +6406,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6416,13 +6416,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6452,7 +6452,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6460,13 +6460,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6497,7 +6497,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6507,13 +6507,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6542,15 +6542,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6582,7 +6582,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6598,13 +6598,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6637,7 +6637,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6655,13 +6655,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6692,7 +6692,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6702,13 +6702,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6741,7 +6741,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6759,13 +6759,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6799,7 +6799,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6819,13 +6819,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6857,7 +6857,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6869,13 +6869,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6906,7 +6906,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6916,13 +6916,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6954,7 +6954,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6966,13 +6966,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7002,17 +7002,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7045,7 +7045,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7059,13 +7059,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7099,7 +7099,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7115,13 +7115,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7153,7 +7153,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7161,13 +7161,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7201,7 +7201,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7217,13 +7217,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7258,7 +7258,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7276,13 +7276,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7315,7 +7315,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7325,13 +7325,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7363,7 +7363,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -7371,13 +7371,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7410,7 +7410,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -7420,13 +7420,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7457,15 +7457,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7499,7 +7499,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7515,13 +7515,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7556,7 +7556,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7574,13 +7574,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7613,7 +7613,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7623,13 +7623,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7664,7 +7664,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7682,13 +7682,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7724,7 +7724,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7744,13 +7744,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7784,7 +7784,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7796,13 +7796,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7835,7 +7835,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -7845,13 +7845,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7885,7 +7885,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -7897,13 +7897,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7935,17 +7935,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7979,7 +7979,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7993,15 +7993,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8036,7 +8036,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8052,15 +8052,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8093,7 +8093,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8101,15 +8101,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8144,7 +8144,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8160,15 +8160,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8204,7 +8204,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8222,15 +8222,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8264,7 +8264,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8274,15 +8274,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8315,7 +8315,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -8323,15 +8323,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8365,7 +8365,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -8375,15 +8375,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8415,17 +8415,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8460,7 +8460,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8476,15 +8476,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8520,7 +8520,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8538,15 +8538,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8580,7 +8580,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8590,15 +8590,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8634,7 +8634,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8652,15 +8652,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8697,7 +8697,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8717,15 +8717,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8760,7 +8760,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8772,15 +8772,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8814,7 +8814,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -8824,15 +8824,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8867,7 +8867,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -8879,15 +8879,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8920,19 +8920,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8962,7 +8962,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8976,7 +8976,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist5
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist6
@@ -9011,7 +9011,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9027,7 +9027,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9060,7 +9060,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9068,7 +9068,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
@@ -9103,7 +9103,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9119,7 +9119,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9155,7 +9155,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9173,7 +9173,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9207,7 +9207,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9217,7 +9217,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9250,7 +9250,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -9258,7 +9258,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
@@ -9292,7 +9292,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -9302,7 +9302,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9334,9 +9334,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist3
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist4
@@ -9371,7 +9371,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9387,7 +9387,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9423,7 +9423,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9441,7 +9441,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9475,7 +9475,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9485,7 +9485,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9521,7 +9521,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9539,7 +9539,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9576,7 +9576,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9596,7 +9596,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist8
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist9
@@ -9631,7 +9631,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9643,7 +9643,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
@@ -9677,7 +9677,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -9687,7 +9687,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9722,7 +9722,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -9734,7 +9734,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
@@ -9767,11 +9767,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist4
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist5
@@ -9806,7 +9806,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9820,13 +9820,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9858,7 +9858,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9874,13 +9874,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9910,7 +9910,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9918,13 +9918,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9956,7 +9956,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9972,13 +9972,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10011,7 +10011,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10029,13 +10029,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10066,7 +10066,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10076,13 +10076,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10112,7 +10112,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -10120,13 +10120,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10157,7 +10157,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -10167,13 +10167,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10202,15 +10202,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10242,7 +10242,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10258,13 +10258,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10297,7 +10297,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10315,13 +10315,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10352,7 +10352,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10362,13 +10362,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10401,7 +10401,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10419,13 +10419,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10459,7 +10459,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10479,13 +10479,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10517,7 +10517,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10529,13 +10529,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10566,7 +10566,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -10576,13 +10576,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10614,7 +10614,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -10626,13 +10626,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10662,17 +10662,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10705,7 +10705,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10719,13 +10719,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10759,7 +10759,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10775,13 +10775,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10813,7 +10813,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10821,13 +10821,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10861,7 +10861,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10877,13 +10877,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10918,7 +10918,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10936,13 +10936,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10975,7 +10975,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10985,13 +10985,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11023,7 +11023,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11031,13 +11031,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11070,7 +11070,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -11080,13 +11080,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11117,15 +11117,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11159,7 +11159,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11175,13 +11175,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11216,7 +11216,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11234,13 +11234,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11273,7 +11273,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11283,13 +11283,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11324,7 +11324,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11342,13 +11342,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11384,7 +11384,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11404,13 +11404,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11444,7 +11444,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11456,13 +11456,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11495,7 +11495,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11505,13 +11505,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11545,7 +11545,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -11557,13 +11557,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11595,17 +11595,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11639,7 +11639,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11653,15 +11653,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11696,7 +11696,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11712,15 +11712,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11753,7 +11753,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11761,15 +11761,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11804,7 +11804,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11820,15 +11820,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11864,7 +11864,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11882,15 +11882,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11924,7 +11924,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11934,15 +11934,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11975,7 +11975,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11983,15 +11983,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12025,7 +12025,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -12035,15 +12035,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12075,17 +12075,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12120,7 +12120,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12136,15 +12136,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12180,7 +12180,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12198,15 +12198,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12240,7 +12240,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12250,15 +12250,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12294,7 +12294,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12312,15 +12312,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12357,7 +12357,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12377,15 +12377,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12420,7 +12420,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12432,15 +12432,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12474,7 +12474,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -12484,15 +12484,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12527,7 +12527,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -12539,15 +12539,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12580,19 +12580,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       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 PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12622,15 +12622,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist4
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist6
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12658,17 +12658,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12696,17 +12696,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12735,19 +12735,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12775,15 +12775,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist4
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist6
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12812,17 +12812,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12851,17 +12851,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12891,19 +12891,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12929,15 +12929,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwtypenode5 = nodearraylist3
                                        assert tkwtypenode5 isa nullable TKwtype
                                        var tclassidnode6 = nodearraylist4
                                        assert tclassidnode6 isa nullable TClassid
                                        var ptypenode7 = nodearraylist5
-                                       assert ptypenode7 isa nullable PType
+                                       assert ptypenode7 isa nullable AType
                                        var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
                                                pdocnode2,
                                                null,
@@ -12963,17 +12963,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwtypenode5 = nodearraylist4
                                        assert tkwtypenode5 isa nullable TKwtype
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ptypenode7 = nodearraylist6
-                                       assert ptypenode7 isa nullable PType
+                                       assert ptypenode7 isa nullable AType
                                        var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -13396,7 +13396,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
 #                                      if listnode4 != null then
@@ -13436,7 +13436,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -13512,7 +13512,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode2,
                                                ptypenode3,
@@ -13543,7 +13543,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode3,
                                                ptypenode4,
@@ -13607,7 +13607,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode2,
                                                ptypenode3,
@@ -13637,7 +13637,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode3,
                                                ptypenode4,
@@ -13660,7 +13660,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        if pparamnode1 != null then
                                                listnode2.add(pparamnode1)
                                        end
@@ -13682,7 +13682,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        var listnode2 = nodearraylist4
                                        assert listnode2 isa Array[Object]
                                        if pparamnode1 != null then
@@ -13723,7 +13723,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        node_list = pparamnode1
                                        p.push(p.go_to(18), node_list)
        end
@@ -13757,7 +13757,7 @@ special ReduceAction
                                        var tidnode2 = nodearraylist1
                                        assert tidnode2 isa nullable TId
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pparamnode1: nullable AParam = new AParam.init_aparam(
                                                tidnode2,
                                                ptypenode3,
@@ -13779,7 +13779,7 @@ special ReduceAction
                                        var tidnode2 = nodearraylist1
                                        assert tidnode2 isa nullable TId
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tdotdotdotnode4 = nodearraylist3
                                        assert tdotdotdotnode4 isa nullable TDotdotdot
                                        var pparamnode1: nullable AParam = new AParam.init_aparam(
@@ -13829,7 +13829,7 @@ special ReduceAction
                                        var tidnode4 = nodearraylist3
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                null,
@@ -13860,7 +13860,7 @@ special ReduceAction
                                        var tidnode4 = nodearraylist4
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist5
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                tkwbreaknode3,
@@ -13890,9 +13890,9 @@ special ReduceAction
                                        var tidnode4 = nodearraylist3
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                null,
@@ -13925,9 +13925,9 @@ special ReduceAction
                                        var tidnode4 = nodearraylist4
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist5
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                tkwbreaknode3,
@@ -14058,7 +14058,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        if ptypenode1 != null then
                                                listnode2.add(ptypenode1)
                                        end
@@ -14076,7 +14076,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if ptypenode1 != null then
@@ -14103,7 +14103,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ptypenode1 = nodearraylist3
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        node_list = ptypenode1
                                        p.push(p.go_to(24), node_list)
        end
@@ -14118,7 +14118,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ptypenode1 = nodearraylist3
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        node_list = ptypenode1
                                        p.push(p.go_to(25), node_list)
        end
@@ -14131,7 +14131,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(26), node_list)
        end
@@ -14148,7 +14148,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode2 != null then
                                                listnode3.add(pexprnode2)
                                        end
@@ -14172,7 +14172,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist3
                                        assert listnode3 isa Array[Object]
                                        if pexprnode2 != null then
@@ -14232,7 +14232,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(27), node_list)
        end
@@ -14245,7 +14245,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14258,7 +14258,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14291,7 +14291,7 @@ special ReduceAction
                                        var tkwreturnnode2 = nodearraylist1
                                        assert tkwreturnnode2 isa nullable TKwreturn
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
                                                tkwreturnnode2,
                                                pexprnode3
@@ -14328,7 +14328,7 @@ special ReduceAction
                                        var tkwbreaknode2 = nodearraylist1
                                        assert tkwbreaknode2 isa nullable TKwbreak
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
                                                tkwbreaknode2,
                                                pexprnode3
@@ -14381,7 +14381,7 @@ special ReduceAction
                                        var tkwcontinuenode2 = nodearraylist1
                                        assert tkwcontinuenode2 isa nullable TKwcontinue
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
                                                tkwcontinuenode2,
                                                pexprnode3
@@ -14398,7 +14398,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14411,7 +14411,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14424,7 +14424,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14437,7 +14437,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14450,7 +14450,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14469,7 +14469,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -14539,7 +14539,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -14653,7 +14653,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -14687,7 +14687,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -14748,7 +14748,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        if pclosuredefnode1 != null then
                                                listnode2.add(pclosuredefnode1)
                                        end
@@ -14766,7 +14766,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pclosuredefnode1 != null then
@@ -14798,7 +14798,7 @@ special ReduceAction
                                        var tkwdonode4 = nodearraylist2
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode3,
@@ -14834,7 +14834,7 @@ special ReduceAction
                                        var tkwdonode5 = nodearraylist3
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode4,
@@ -14863,7 +14863,7 @@ special ReduceAction
                                        assert tkwdonode4 isa nullable TKwdo
                                        var listnode7 = new Array[Object]
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        if pexprnode6 != null then
                                                listnode7.add(pexprnode6)
                                        end
@@ -14899,7 +14899,7 @@ special ReduceAction
                                        assert tkwdonode4 isa nullable TKwdo
                                        var listnode8 = new Array[Object]
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if pexprnode6 != null then
@@ -14953,7 +14953,7 @@ special ReduceAction
                                        assert tkwdonode5 isa nullable TKwdo
                                        var listnode8 = new Array[Object]
                                        var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        if pexprnode7 != null then
                                                listnode8.add(pexprnode7)
                                        end
@@ -14999,7 +14999,7 @@ special ReduceAction
                                        assert tkwdonode5 isa nullable TKwdo
                                        var listnode9 = new Array[Object]
                                        var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if pexprnode7 != null then
@@ -15120,7 +15120,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15150,7 +15150,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15179,11 +15179,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var tassignnode5 = nodearraylist4
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15208,13 +15208,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var tassignnode4 = nodearraylist5
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15241,7 +15241,7 @@ special ReduceAction
                                        var tassignnode4 = nodearraylist2
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15267,7 +15267,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -15282,7 +15282,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist6
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15321,7 +15321,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist3
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15345,7 +15345,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -15358,7 +15358,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -15382,13 +15382,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist5
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15413,9 +15413,9 @@ special ReduceAction
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist2
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15441,7 +15441,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -15454,9 +15454,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15493,9 +15493,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15519,7 +15519,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -15530,9 +15530,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable PAssignOp
+                                       assert passignopnode5 isa nullable AAssignOp
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -15586,7 +15586,7 @@ special ReduceAction
                                        var tkwdonode2 = nodearraylist1
                                        assert tkwdonode2 isa nullable TKwdo
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
                                                tkwdonode2,
                                                pexprnode3
@@ -15612,11 +15612,11 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15642,9 +15642,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15673,10 +15673,10 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var listnode6 = new Array[Object]
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        if pexprnode5 != null then
                                                listnode6.add(pexprnode5)
                                        end
@@ -15684,7 +15684,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pexprnode7 = nodearraylist9
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15714,10 +15714,10 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var listnode7 = new Array[Object]
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var listnode6 = nodearraylist8
                                        assert listnode6 isa Array[Object]
                                        if pexprnode5 != null then
@@ -15734,7 +15734,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pexprnode8 = nodearraylist10
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15760,9 +15760,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15789,9 +15789,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15811,7 +15811,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(37), node_list)
        end
@@ -15842,11 +15842,11 @@ special ReduceAction
                                        var tkwwhilenode2 = nodearraylist1
                                        assert tkwwhilenode2 isa nullable TKwwhile
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
                                                tkwwhilenode2,
                                                pexprnode3,
@@ -15878,11 +15878,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist3
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var tkwdonode5 = nodearraylist9
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                tidnode3,
@@ -15905,7 +15905,7 @@ special ReduceAction
                                        var tkwassertnode2 = nodearraylist1
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
@@ -15929,7 +15929,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
@@ -15961,7 +15961,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(42), node_list)
        end
@@ -15981,7 +15981,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -16067,7 +16067,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -16103,7 +16103,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(43), node_list)
        end
@@ -16128,15 +16128,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -16157,7 +16157,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(44), node_list)
        end
@@ -16173,9 +16173,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16195,9 +16195,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16214,7 +16214,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(45), node_list)
        end
@@ -16231,7 +16231,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -16248,7 +16248,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(46), node_list)
        end
@@ -16264,9 +16264,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16286,9 +16286,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16308,9 +16308,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16330,9 +16330,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16352,9 +16352,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16374,9 +16374,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16396,9 +16396,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16418,9 +16418,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16440,9 +16440,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -16459,7 +16459,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(47), node_list)
        end
@@ -16475,9 +16475,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16497,9 +16497,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16516,7 +16516,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(48), node_list)
        end
@@ -16532,9 +16532,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16554,9 +16554,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16576,9 +16576,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16595,7 +16595,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(49), node_list)
        end
@@ -16612,7 +16612,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -16633,7 +16633,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -16650,7 +16650,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(50), node_list)
        end
@@ -16669,7 +16669,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -16703,7 +16703,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -16749,7 +16749,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -16793,7 +16793,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -16888,7 +16888,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -16922,7 +16922,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -16985,7 +16985,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -17021,7 +17021,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -17059,9 +17059,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist7
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -17086,9 +17086,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist7
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -17257,7 +17257,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(51), node_list)
        end
@@ -17272,7 +17272,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(51), node_list)
        end
@@ -17294,11 +17294,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -17327,7 +17327,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -17356,7 +17356,7 @@ special ReduceAction
                                        var listnode2 = nodearraylist1
                                        assert listnode2 isa Array[Object]
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
 #                                      if listnode2 != null then
                                                if listnode4.is_empty then
                                                        listnode4 = listnode2
@@ -17389,7 +17389,7 @@ special ReduceAction
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
 #                                      if listnode2 != null then
                                                if listnode5.is_empty then
                                                        listnode5 = listnode2
@@ -17426,9 +17426,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode3.add(pexprnode1)
                                        end
@@ -17467,9 +17467,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode3.add(pexprnode1)
                                        end
@@ -17525,7 +17525,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17547,7 +17547,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17602,7 +17602,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17624,7 +17624,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17650,7 +17650,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17696,7 +17696,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17718,7 +17718,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17746,7 +17746,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(61), node_list)
        end
@@ -17997,7 +17997,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pdocnode1 = nodearraylist1
-                                       assert pdocnode1 isa nullable PDoc
+                                       assert pdocnode1 isa nullable ADoc
                                        node_list = pdocnode1
                                        p.push(p.go_to(68), node_list)
        end
@@ -18044,7 +18044,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(70), node_list)
        end
@@ -18063,17 +18063,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -18102,19 +18102,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18143,17 +18143,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -18183,19 +18183,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18223,15 +18223,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -18260,17 +18260,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18299,15 +18299,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist8
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -18339,17 +18339,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist9
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -18414,7 +18414,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(73), node_list)
        end
@@ -18434,7 +18434,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -18516,7 +18516,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(74), node_list)
        end
@@ -18541,15 +18541,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -18570,7 +18570,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(75), node_list)
        end
@@ -18586,9 +18586,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18608,9 +18608,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18627,7 +18627,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(76), node_list)
        end
@@ -18644,7 +18644,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -18661,7 +18661,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(77), node_list)
        end
@@ -18677,9 +18677,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18699,9 +18699,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18721,9 +18721,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18743,9 +18743,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18765,9 +18765,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18787,9 +18787,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18809,9 +18809,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18831,9 +18831,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18853,9 +18853,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -18872,7 +18872,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(78), node_list)
        end
@@ -18888,9 +18888,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18910,9 +18910,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18929,7 +18929,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(79), node_list)
        end
@@ -18945,9 +18945,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18967,9 +18967,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18989,9 +18989,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -19008,7 +19008,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(80), node_list)
        end
@@ -19025,7 +19025,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -19046,7 +19046,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -19063,7 +19063,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(81), node_list)
        end
@@ -19082,7 +19082,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -19116,7 +19116,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -19162,7 +19162,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -19206,7 +19206,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -19301,7 +19301,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -19335,7 +19335,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -19404,7 +19404,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -19562,7 +19562,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(82), node_list)
        end
@@ -19577,7 +19577,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(82), node_list)
        end
@@ -19599,11 +19599,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -19632,7 +19632,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -19657,7 +19657,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(83), node_list)
        end
@@ -19674,7 +19674,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode2 != null then
                                                listnode3.add(pexprnode2)
                                        end
@@ -19698,7 +19698,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist3
                                        assert listnode3 isa Array[Object]
                                        if pexprnode2 != null then
@@ -19757,7 +19757,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19770,7 +19770,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19803,7 +19803,7 @@ special ReduceAction
                                        var tkwreturnnode2 = nodearraylist1
                                        assert tkwreturnnode2 isa nullable TKwreturn
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
                                                tkwreturnnode2,
                                                pexprnode3
@@ -19840,7 +19840,7 @@ special ReduceAction
                                        var tkwbreaknode2 = nodearraylist1
                                        assert tkwbreaknode2 isa nullable TKwbreak
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
                                                tkwbreaknode2,
                                                pexprnode3
@@ -19893,7 +19893,7 @@ special ReduceAction
                                        var tkwcontinuenode2 = nodearraylist1
                                        assert tkwcontinuenode2 isa nullable TKwcontinue
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
                                                tkwcontinuenode2,
                                                pexprnode3
@@ -19910,7 +19910,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19923,7 +19923,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19936,7 +19936,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19949,7 +19949,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19962,7 +19962,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19981,7 +19981,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20051,7 +20051,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20165,7 +20165,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -20199,7 +20199,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -20260,7 +20260,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        if pclosuredefnode1 != null then
                                                listnode2.add(pclosuredefnode1)
                                        end
@@ -20278,7 +20278,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pclosuredefnode1 != null then
@@ -20310,7 +20310,7 @@ special ReduceAction
                                        var tkwdonode4 = nodearraylist2
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode3,
@@ -20346,7 +20346,7 @@ special ReduceAction
                                        var tkwdonode5 = nodearraylist3
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode4,
@@ -20394,7 +20394,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20424,7 +20424,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20453,11 +20453,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var tassignnode5 = nodearraylist4
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20482,13 +20482,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var tassignnode4 = nodearraylist5
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20515,7 +20515,7 @@ special ReduceAction
                                        var tassignnode4 = nodearraylist2
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20541,7 +20541,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20556,7 +20556,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist6
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20595,7 +20595,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist3
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20619,7 +20619,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -20632,7 +20632,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -20656,13 +20656,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist5
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20687,9 +20687,9 @@ special ReduceAction
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist2
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20715,7 +20715,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20728,9 +20728,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20767,9 +20767,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20793,7 +20793,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -20804,9 +20804,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable PAssignOp
+                                       assert passignopnode5 isa nullable AAssignOp
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -20828,7 +20828,7 @@ special ReduceAction
                                        var tkwdonode2 = nodearraylist1
                                        assert tkwdonode2 isa nullable TKwdo
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
                                                tkwdonode2,
                                                pexprnode3
@@ -20854,11 +20854,11 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -20884,11 +20884,11 @@ special ReduceAction
                                        var tkwwhilenode2 = nodearraylist1
                                        assert tkwwhilenode2 isa nullable TKwwhile
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
                                                tkwwhilenode2,
                                                pexprnode3,
@@ -20920,11 +20920,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist3
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var tkwdonode5 = nodearraylist9
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                tidnode3,
@@ -20947,7 +20947,7 @@ special ReduceAction
                                        var tkwassertnode2 = nodearraylist1
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
@@ -20971,7 +20971,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
@@ -20989,7 +20989,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(94), node_list)
        end
@@ -21009,7 +21009,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21095,7 +21095,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -21131,7 +21131,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(95), node_list)
        end
@@ -21151,7 +21151,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21233,7 +21233,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(96), node_list)
        end
@@ -21253,7 +21253,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21335,7 +21335,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(97), node_list)
        end
@@ -21360,15 +21360,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -21389,7 +21389,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(98), node_list)
        end
@@ -21405,9 +21405,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21427,9 +21427,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21446,7 +21446,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(99), node_list)
        end
@@ -21463,7 +21463,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -21480,7 +21480,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(100), node_list)
        end
@@ -21496,9 +21496,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21518,9 +21518,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21540,9 +21540,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21562,9 +21562,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21584,9 +21584,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21606,9 +21606,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21628,9 +21628,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21650,9 +21650,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21672,9 +21672,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -21691,7 +21691,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(101), node_list)
        end
@@ -21707,9 +21707,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21729,9 +21729,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21748,7 +21748,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(102), node_list)
        end
@@ -21764,9 +21764,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21786,9 +21786,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21808,9 +21808,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21827,7 +21827,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(103), node_list)
        end
@@ -21844,7 +21844,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -21865,7 +21865,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -21882,7 +21882,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(104), node_list)
        end
@@ -21901,7 +21901,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -21935,7 +21935,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -21981,7 +21981,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -22025,7 +22025,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -22120,7 +22120,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -22154,7 +22154,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -22223,7 +22223,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -22381,7 +22381,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(105), node_list)
        end
@@ -22403,11 +22403,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -22436,7 +22436,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -22461,7 +22461,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(106), node_list)
        end
@@ -22481,7 +22481,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -22563,7 +22563,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(107), node_list)
        end
@@ -22588,15 +22588,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -22617,7 +22617,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(108), node_list)
        end
@@ -22633,9 +22633,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22655,9 +22655,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22674,7 +22674,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(109), node_list)
        end
@@ -22691,7 +22691,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -22708,7 +22708,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(110), node_list)
        end
@@ -22724,9 +22724,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22746,9 +22746,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22768,9 +22768,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22790,9 +22790,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22812,9 +22812,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22834,9 +22834,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22856,9 +22856,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22878,9 +22878,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22900,9 +22900,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -22919,7 +22919,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(111), node_list)
        end
@@ -22935,9 +22935,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22957,9 +22957,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22976,7 +22976,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(112), node_list)
        end
@@ -22992,9 +22992,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -23014,9 +23014,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -23036,9 +23036,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -23055,7 +23055,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(113), node_list)
        end
@@ -23072,7 +23072,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -23093,7 +23093,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -23110,7 +23110,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(114), node_list)
        end
@@ -23129,7 +23129,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -23161,7 +23161,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist3
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -23182,7 +23182,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist2
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -23205,7 +23205,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist3
@@ -23267,7 +23267,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -23299,7 +23299,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist2
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist3
@@ -23337,7 +23337,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -23495,7 +23495,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(115), node_list)
        end
@@ -23517,11 +23517,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -23550,7 +23550,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -23577,7 +23577,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(116), node_list)
        end
@@ -23602,7 +23602,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(117), node_list)
        end
@@ -23622,7 +23622,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -23704,7 +23704,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(118), node_list)
        end
@@ -23724,7 +23724,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -23807,7 +23807,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pimportnode1 = nodearraylist1
-                                       assert pimportnode1 isa nullable PImport
+                                       assert pimportnode1 isa nullable AImport
                                        if pimportnode1 != null then
                                                listnode2.add(pimportnode1)
                                        end
@@ -23827,7 +23827,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pimportnode2 = nodearraylist2
-                                       assert pimportnode2 isa nullable PImport
+                                       assert pimportnode2 isa nullable AImport
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23851,7 +23851,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclassdefnode1 = nodearraylist1
-                                       assert pclassdefnode1 isa nullable PClassdef
+                                       assert pclassdefnode1 isa nullable AClassdef
                                        if pclassdefnode1 != null then
                                                listnode2.add(pclassdefnode1)
                                        end
@@ -23871,7 +23871,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pclassdefnode2 = nodearraylist2
-                                       assert pclassdefnode2 isa nullable PClassdef
+                                       assert pclassdefnode2 isa nullable AClassdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23895,7 +23895,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var psuperclassnode1 = nodearraylist1
-                                       assert psuperclassnode1 isa nullable PSuperclass
+                                       assert psuperclassnode1 isa nullable ASuperclass
                                        if psuperclassnode1 != null then
                                                listnode2.add(psuperclassnode1)
                                        end
@@ -23915,7 +23915,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var psuperclassnode2 = nodearraylist2
-                                       assert psuperclassnode2 isa nullable PSuperclass
+                                       assert psuperclassnode2 isa nullable ASuperclass
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23939,7 +23939,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist1
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -23959,7 +23959,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pformaldefnode2 = nodearraylist2
-                                       assert pformaldefnode2 isa nullable PFormaldef
+                                       assert pformaldefnode2 isa nullable AFormaldef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23983,7 +23983,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        if ppropdefnode1 != null then
                                                listnode2.add(ppropdefnode1)
                                        end
@@ -24003,7 +24003,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ppropdefnode2 = nodearraylist2
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24027,7 +24027,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pparamnode1 = nodearraylist1
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        if pparamnode1 != null then
                                                listnode2.add(pparamnode1)
                                        end
@@ -24047,7 +24047,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pparamnode2 = nodearraylist2
-                                       assert pparamnode2 isa nullable PParam
+                                       assert pparamnode2 isa nullable AParam
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24071,7 +24071,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredeclnode1 = nodearraylist1
-                                       assert pclosuredeclnode1 isa nullable PClosureDecl
+                                       assert pclosuredeclnode1 isa nullable AClosureDecl
                                        if pclosuredeclnode1 != null then
                                                listnode2.add(pclosuredeclnode1)
                                        end
@@ -24091,7 +24091,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pclosuredeclnode2 = nodearraylist2
-                                       assert pclosuredeclnode2 isa nullable PClosureDecl
+                                       assert pclosuredeclnode2 isa nullable AClosureDecl
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24115,7 +24115,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        if ptypenode1 != null then
                                                listnode2.add(ptypenode1)
                                        end
@@ -24135,7 +24135,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ptypenode2 = nodearraylist2
-                                       assert ptypenode2 isa nullable PType
+                                       assert ptypenode2 isa nullable AType
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24159,7 +24159,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -24179,7 +24179,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24255,7 +24255,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -24275,7 +24275,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24431,7 +24431,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        if ppropdefnode1 != null then
                                                listnode2.add(ppropdefnode1)
                                        end
@@ -24451,7 +24451,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ppropdefnode2 = nodearraylist2
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
index e7326a3..9e24e04 100644 (file)
@@ -5,18 +5,18 @@ package parser_abs
 import mmloader
 
 # Root of the AST hierarchy
-abstract class PNode
+abstract class ANode
        readable var _location: nullable Location
 end
 
 # Ancestor of all tokens
 abstract class Token
-special PNode
+special ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
-special PNode
+special ANode
        fun location=(loc: nullable Location) do _location = loc
 end
 class TEol
@@ -281,704 +281,704 @@ class EOF
 special Token
 private init noinit do end
 end
-class PError
+class AError
 special EOF
 private init noinit do end
 end
 
-class PModule special Prod end
-class PPackagedecl special Prod end
-class PImport special Prod end
-class PVisibility special Prod end
-class PClassdef special Prod end
-class PClasskind special Prod end
-class PFormaldef special Prod end
-class PSuperclass special Prod end
-class PPropdef special Prod end
-class PAble special Prod end
-class PMethid special Prod end
-class PSignature special Prod end
-class PParam special Prod end
-class PClosureDecl special Prod end
-class PType special Prod end
-class PExpr special Prod end
-class PAssignOp special Prod end
-class PClosureDef special Prod end
-class PQualified special Prod end
-class PDoc special Prod end
+class AModule special Prod end
+class APackagedecl special Prod end
+class AImport special Prod end
+class AVisibility special Prod end
+class AClassdef special Prod end
+class AClasskind special Prod end
+class AFormaldef special Prod end
+class ASuperclass special Prod end
+class APropdef special Prod end
+class AAble special Prod end
+class AMethid special Prod end
+class ASignature special Prod end
+class AParam special Prod end
+class AClosureDecl special Prod end
+class AType special Prod end
+class AExpr special Prod end
+class AAssignOp special Prod end
+class AClosureDef special Prod end
+class AQualified special Prod end
+class ADoc special Prod end
 
 class AModule
-special PModule
-    readable writable var _n_packagedecl: nullable PPackagedecl = null
-    readable writable var _n_imports: List[PImport] = new List[PImport]
-    readable writable var _n_classdefs: List[PClassdef] = new List[PClassdef]
+special AModule
+    readable writable var _n_packagedecl: nullable APackagedecl = null
+    readable writable var _n_imports: List[AImport] = new List[AImport]
+    readable writable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class APackagedecl
-special PPackagedecl
-    readable writable var _n_doc: nullable PDoc = null
+special APackagedecl
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwpackage: TKwpackage
     readable writable var _n_id: TId
 end
 class AStdImport
-special PImport
-    readable writable var _n_visibility: PVisibility
+special AImport
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwimport: TKwimport
     readable writable var _n_id: TId
 end
 class ANoImport
-special PImport
-    readable writable var _n_visibility: PVisibility
+special AImport
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwimport: TKwimport
     readable writable var _n_kwend: TKwend
 end
 class APublicVisibility
-special PVisibility
+special AVisibility
 end
 class APrivateVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwintrude: TKwintrude
 end
 class AStdClassdef
-special PClassdef
-    readable writable var _n_doc: nullable PDoc = null
+special AClassdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
-    readable writable var _n_classkind: PClasskind
+    readable writable var _n_visibility: AVisibility
+    readable writable var _n_classkind: AClasskind
     readable writable var _n_id: nullable TClassid = null
-    readable writable var _n_formaldefs: List[PFormaldef] = new List[PFormaldef]
-    readable writable var _n_superclasses: List[PSuperclass] = new List[PSuperclass]
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+    readable writable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+    readable writable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
-special PClassdef
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
-special PClassdef
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AConcreteClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwabstract: TKwabstract
     readable writable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwinterface: TKwinterface
 end
 class AUniversalClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwuniversal: TKwuniversal
 end
 class AFormaldef
-special PFormaldef
+special AFormaldef
     readable writable var _n_id: TClassid
-    readable writable var _n_type: nullable PType = null
+    readable writable var _n_type: nullable AType = null
 end
 class ASuperclass
-special PSuperclass
+special ASuperclass
     readable writable var _n_kwspecial: TKwspecial
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
 end
 class AAttrPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
-    readable writable var _n_readable: nullable PAble = null
-    readable writable var _n_writable: nullable PAble = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
+    readable writable var _n_readable: nullable AAble = null
+    readable writable var _n_writable: nullable AAble = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwattr: nullable TKwattr = null
     readable writable var _n_kwvar: nullable TKwvar = null
     readable writable var _n_id: TAttrid
-    readable writable var _n_type: nullable PType = null
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_type: nullable AType = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
-    readable writable var _n_methid: PMethid
-    readable writable var _n_signature: PSignature
+    readable writable var _n_visibility: AVisibility
+    readable writable var _n_methid: AMethid
+    readable writable var _n_signature: ASignature
 end
 class ADeferredMethPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: PMethid
-    readable writable var _n_signature: PSignature
+    readable writable var _n_methid: AMethid
+    readable writable var _n_signature: ASignature
 end
 class AInternMethPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: PMethid
-    readable writable var _n_signature: PSignature
+    readable writable var _n_methid: AMethid
+    readable writable var _n_signature: ASignature
 end
 class AExternMethPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: PMethid
-    readable writable var _n_signature: PSignature
+    readable writable var _n_methid: AMethid
+    readable writable var _n_signature: ASignature
     readable writable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: PMethid
-    readable writable var _n_signature: PSignature
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_methid: AMethid
+    readable writable var _n_signature: ASignature
+    readable writable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwinit: TKwinit
-    readable writable var _n_methid: nullable PMethid = null
-    readable writable var _n_signature: PSignature
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_methid: nullable AMethid = null
+    readable writable var _n_signature: ASignature
+    readable writable var _n_block: nullable AExpr = null
 end
 class AMainMethPropdef
-special PPropdef
+special APropdef
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class ATypePropdef
-special PPropdef
-    readable writable var _n_doc: nullable PDoc = null
+special APropdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwtype: TKwtype
     readable writable var _n_id: TClassid
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
 end
 class AReadAble
-special PAble
+special AAble
     readable writable var _n_kwredef: nullable TKwredef = null
     readable writable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
-special PAble
+special AAble
     readable writable var _n_kwredef: nullable TKwredef = null
     readable writable var _n_kwwritable: TKwwritable
 end
 class AIdMethid
-special PMethid
+special AMethid
     readable writable var _n_id: TId
 end
 class APlusMethid
-special PMethid
+special AMethid
     readable writable var _n_plus: TPlus
 end
 class AMinusMethid
-special PMethid
+special AMethid
     readable writable var _n_minus: TMinus
 end
 class AStarMethid
-special PMethid
+special AMethid
     readable writable var _n_star: TStar
 end
 class ASlashMethid
-special PMethid
+special AMethid
     readable writable var _n_slash: TSlash
 end
 class APercentMethid
-special PMethid
+special AMethid
     readable writable var _n_percent: TPercent
 end
 class AEqMethid
-special PMethid
+special AMethid
     readable writable var _n_eq: TEq
 end
 class ANeMethid
-special PMethid
+special AMethid
     readable writable var _n_ne: TNe
 end
 class ALeMethid
-special PMethid
+special AMethid
     readable writable var _n_le: TLe
 end
 class AGeMethid
-special PMethid
+special AMethid
     readable writable var _n_ge: TGe
 end
 class ALtMethid
-special PMethid
+special AMethid
     readable writable var _n_lt: TLt
 end
 class AGtMethid
-special PMethid
+special AMethid
     readable writable var _n_gt: TGt
 end
 class ABraMethid
-special PMethid
+special AMethid
     readable writable var _n_obra: TObra
     readable writable var _n_cbra: TCbra
 end
 class AStarshipMethid
-special PMethid
+special AMethid
     readable writable var _n_starship: TStarship
 end
 class AAssignMethid
-special PMethid
+special AMethid
     readable writable var _n_id: TId
     readable writable var _n_assign: TAssign
 end
 class ABraassignMethid
-special PMethid
+special AMethid
     readable writable var _n_obra: TObra
     readable writable var _n_cbra: TCbra
     readable writable var _n_assign: TAssign
 end
 class ASignature
-special PSignature
-    readable writable var _n_params: List[PParam] = new List[PParam]
-    readable writable var _n_type: nullable PType = null
-    readable writable var _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl]
+special ASignature
+    readable writable var _n_params: List[AParam] = new List[AParam]
+    readable writable var _n_type: nullable AType = null
+    readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
-special PParam
+special AParam
     readable writable var _n_id: TId
-    readable writable var _n_type: nullable PType = null
+    readable writable var _n_type: nullable AType = null
     readable writable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
-special PClosureDecl
+special AClosureDecl
     readable writable var _n_kwwith: TKwwith
     readable writable var _n_kwbreak: nullable TKwbreak = null
     readable writable var _n_id: TId
-    readable writable var _n_signature: PSignature
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_signature: ASignature
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AType
-special PType
+special AType
     readable writable var _n_kwnullable: nullable TKwnullable = null
     readable writable var _n_id: TClassid
-    readable writable var _n_types: List[PType] = new List[PType]
+    readable writable var _n_types: List[AType] = new List[AType]
 end
 class ABlockExpr
-special PExpr
-    readable writable var _n_expr: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
-special PExpr
+special AExpr
     readable writable var _n_kwvar: TKwvar
     readable writable var _n_id: TId
-    readable writable var _n_type: nullable PType = null
+    readable writable var _n_type: nullable AType = null
     readable writable var _n_assign: nullable TAssign = null
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
-special PExpr
+special AExpr
     readable writable var _n_kwreturn: TKwreturn
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class ABreakExpr
-special PExpr
+special AExpr
     readable writable var _n_kwbreak: TKwbreak
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
-special PExpr
+special AExpr
     readable writable var _n_kwabort: TKwabort
 end
 class AContinueExpr
-special PExpr
+special AExpr
     readable writable var _n_kwcontinue: TKwcontinue
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
-special PExpr
+special AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AIfExpr
-special PExpr
+special AExpr
     readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: PExpr
-    readable writable var _n_then: nullable PExpr = null
-    readable writable var _n_else: nullable PExpr = null
+    readable writable var _n_expr: AExpr
+    readable writable var _n_then: nullable AExpr = null
+    readable writable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
-special PExpr
+special AExpr
     readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwthen: TKwthen
-    readable writable var _n_then: PExpr
+    readable writable var _n_then: AExpr
     readable writable var _n_kwelse: TKwelse
-    readable writable var _n_else: PExpr
+    readable writable var _n_else: AExpr
 end
 class AWhileExpr
-special PExpr
+special AExpr
     readable writable var _n_kwwhile: TKwwhile
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AForExpr
-special PExpr
+special AExpr
     readable writable var _n_kwfor: TKwfor
     readable writable var _n_id: TId
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AAssertExpr
-special PExpr
+special AExpr
     readable writable var _n_kwassert: TKwassert
     readable writable var _n_id: nullable TId = null
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class AOnceExpr
-special PExpr
+special AExpr
     readable writable var _n_kwonce: TKwonce
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class ASendExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
 end
 class ABinopExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AOrExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AAndExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ANotExpr
-special PExpr
+special AExpr
     readable writable var _n_kwnot: TKwnot
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class AEqExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AEeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ANeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ALtExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ALeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AGtExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AGeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AIsaExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_type: PType
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_type: AType
 end
 class APlusExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AMinusExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AStarshipExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AStarExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ASlashExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class APercentExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AUminusExpr
-special PExpr
+special AExpr
     readable writable var _n_minus: TMinus
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class ANewExpr
-special PExpr
+special AExpr
     readable writable var _n_kwnew: TKwnew
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
     readable writable var _n_id: nullable TId = null
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TAttrid
 end
 class AAttrAssignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TAttrid
     readable writable var _n_assign: TAssign
-    readable writable var _n_value: PExpr
+    readable writable var _n_value: AExpr
 end
 class AAttrReassignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TAttrid
-    readable writable var _n_assign_op: PAssignOp
-    readable writable var _n_value: PExpr
+    readable writable var _n_assign_op: AAssignOp
+    readable writable var _n_value: AExpr
 end
 class ACallExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ACallAssignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
     readable writable var _n_assign: TAssign
-    readable writable var _n_value: PExpr
+    readable writable var _n_value: AExpr
 end
 class ACallReassignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_assign_op: PAssignOp
-    readable writable var _n_value: PExpr
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_assign_op: AAssignOp
+    readable writable var _n_value: AExpr
 end
 class ASuperExpr
-special PExpr
-    readable writable var _n_qualified: nullable PQualified = null
+special AExpr
+    readable writable var _n_qualified: nullable AQualified = null
     readable writable var _n_kwsuper: TKwsuper
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwinit: TKwinit
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABraAssignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
     readable writable var _n_assign: TAssign
-    readable writable var _n_value: PExpr
+    readable writable var _n_value: AExpr
 end
 class ABraReassignExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_assign_op: PAssignOp
-    readable writable var _n_value: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_assign_op: AAssignOp
+    readable writable var _n_value: AExpr
 end
 class AClosureCallExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
 end
 class AVarAssignExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
     readable writable var _n_assign: TAssign
-    readable writable var _n_value: PExpr
+    readable writable var _n_value: AExpr
 end
 class AVarReassignExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
-    readable writable var _n_assign_op: PAssignOp
-    readable writable var _n_value: PExpr
+    readable writable var _n_assign_op: AAssignOp
+    readable writable var _n_value: AExpr
 end
 class ARangeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ACrangeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AOrangeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AArrayExpr
-special PExpr
-    readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
-special PExpr
+special AExpr
     readable writable var _n_kwself: TKwself
 end
 class AImplicitSelfExpr
-special PExpr
+special AExpr
 end
 class ATrueExpr
-special PExpr
+special AExpr
     readable writable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
-special PExpr
+special AExpr
     readable writable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special PExpr
+special AExpr
     readable writable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special PExpr
+special AExpr
     readable writable var _n_number: TNumber
 end
 class AFloatExpr
-special PExpr
+special AExpr
     readable writable var _n_float: TFloat
 end
 class ACharExpr
-special PExpr
+special AExpr
     readable writable var _n_char: TChar
 end
 class AStringExpr
-special PExpr
+special AExpr
     readable writable var _n_string: TString
 end
 class AStartStringExpr
-special PExpr
+special AExpr
     readable writable var _n_string: TStartString
 end
 class AMidStringExpr
-special PExpr
+special AExpr
     readable writable var _n_string: TMidString
 end
 class AEndStringExpr
-special PExpr
+special AExpr
     readable writable var _n_string: TEndString
 end
 class ASuperstringExpr
-special PExpr
-    readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
 end
 class AAsCastExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwas: TKwas
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
 end
 class AAsNotnullExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwas: TKwas
     readable writable var _n_kwnot: TKwnot
     readable writable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
-special PExpr
+special AExpr
     readable writable var _n_kwisset: TKwisset
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TAttrid
 end
 class APlusAssignOp
-special PAssignOp
+special AAssignOp
     readable writable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
-special PAssignOp
+special AAssignOp
     readable writable var _n_minuseq: TMinuseq
 end
 class AClosureDef
-special PClosureDef
+special AClosureDef
     readable writable var _n_kwwith: TKwwith
     readable writable var _n_id: List[TId] = new List[TId]
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AQualified
-special PQualified
+special AQualified
     readable writable var _n_id: List[TId] = new List[TId]
     readable writable var _n_classid: nullable TClassid = null
 end
 class ADoc
-special PDoc
+special ADoc
     readable writable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
 special Prod
-    readable writable var _n_base: nullable PModule 
+    readable writable var _n_base: nullable AModule 
     readable writable var _n_eof: EOF 
 end
index 87ba1fa..4e9f242 100644 (file)
@@ -5,18 +5,18 @@ package parser_nodes
 import mmloader
 
 # Root of the AST hierarchy
-abstract class PNode
+abstract class ANode
        readable var _location: nullable Location
 end
 
 # Ancestor of all tokens
 abstract class Token
-special PNode
+special ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
-special PNode
+special ANode
        fun location=(loc: nullable Location) do _location = loc
 end
 class TEol
@@ -281,143 +281,121 @@ class EOF
 special Token
 private init noinit do end
 end
-class PError
+class AError
 special EOF
 private init noinit do end
 end
 
-class PModule special Prod end
-class PPackagedecl special Prod end
-class PImport special Prod end
-class PVisibility special Prod end
-class PClassdef special Prod end
-class PClasskind special Prod end
-class PFormaldef special Prod end
-class PSuperclass special Prod end
-class PPropdef special Prod 
-    readable writable var _n_doc: nullable PDoc = null
-end
-class PAble special Prod
-    readable writable var _n_kwredef: nullable TKwredef = null
-end
-class PMethid special Prod end
-class PSignature special Prod end
-class PParam
-special Prod
-    readable writable var _n_id: TId
-    readable writable var _n_type: nullable PType = null
-end
-class PClosureDecl special Prod end
-class PType special Prod end
-class PExpr special Prod end
-class PAssignOp special Prod end
-class PClosureDef special Prod end
-class PQualified special Prod end
-class PDoc special Prod end
-
 class AModule
-special PModule
-    readable writable var _n_packagedecl: nullable PPackagedecl = null
-    readable writable var _n_imports: List[PImport] = new List[PImport]
-    readable writable var _n_classdefs: List[PClassdef] = new List[PClassdef]
+special Prod
+    readable writable var _n_packagedecl: nullable APackagedecl = null
+    readable writable var _n_imports: List[AImport] = new List[AImport]
+    readable writable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class APackagedecl
-special PPackagedecl
-    readable writable var _n_doc: nullable PDoc = null
+special Prod
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwpackage: TKwpackage
     readable writable var _n_id: TId
 end
+class AImport special Prod end
 class AStdImport
-special PImport
-    readable writable var _n_visibility: PVisibility
+special AImport
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwimport: TKwimport
     readable writable var _n_id: TId
 end
 class ANoImport
-special PImport
-    readable writable var _n_visibility: PVisibility
+special AImport
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwimport: TKwimport
     readable writable var _n_kwend: TKwend
 end
+class AVisibility special Prod end
 class APublicVisibility
-special PVisibility
+special AVisibility
 end
 class APrivateVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special PVisibility
+special AVisibility
     readable writable var _n_kwintrude: TKwintrude
 end
+class AClassdef special Prod end
 class AStdClassdef
-special PClassdef
-    readable writable var _n_doc: nullable PDoc = null
+special AClassdef
+    readable writable var _n_doc: nullable ADoc = null
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
-    readable writable var _n_classkind: PClasskind
+    readable writable var _n_visibility: AVisibility
+    readable writable var _n_classkind: AClasskind
     readable writable var _n_id: nullable TClassid = null
-    readable writable var _n_formaldefs: List[PFormaldef] = new List[PFormaldef]
-    readable writable var _n_superclasses: List[PSuperclass] = new List[PSuperclass]
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+    readable writable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+    readable writable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
-special PClassdef
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
-special PClassdef
-    readable writable var _n_propdefs: List[PPropdef] = new List[PPropdef]
+special AClassdef
+    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
+class AClasskind special Prod end
 class AConcreteClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwabstract: TKwabstract
     readable writable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwinterface: TKwinterface
 end
 class AUniversalClasskind
-special PClasskind
+special AClasskind
     readable writable var _n_kwuniversal: TKwuniversal
 end
 class AFormaldef
-special PFormaldef
+special Prod
     readable writable var _n_id: TClassid
-    readable writable var _n_type: nullable PType = null
+    readable writable var _n_type: nullable AType = null
 end
 class ASuperclass
-special PSuperclass
+special Prod
     readable writable var _n_kwspecial: TKwspecial
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
+end
+class APropdef special Prod 
+    readable writable var _n_doc: nullable ADoc = null
 end
 class AAttrPropdef
-special PPropdef
+special APropdef
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwattr: nullable TKwattr = null
     readable writable var _n_kwvar: nullable TKwvar = null
     readable writable var _n_id: TAttrid
-    readable writable var _n_type: nullable PType = null
-    readable writable var _n_readable: nullable PAble = null
-    readable writable var _n_writable: nullable PAble = null
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_type: nullable AType = null
+    readable writable var _n_readable: nullable AAble = null
+    readable writable var _n_writable: nullable AAble = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
-special PPropdef
+special APropdef
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: nullable PVisibility
-    readable writable var _n_methid: nullable PMethid = null
-    readable writable var _n_signature: nullable PSignature
+    readable writable var _n_visibility: nullable AVisibility
+    readable writable var _n_methid: nullable AMethid = null
+    readable writable var _n_signature: nullable ASignature
 end
 class ADeferredMethPropdef
 special AMethPropdef
@@ -435,7 +413,7 @@ end
 class AConcreteMethPropdef
 special AMethPropdef
     readable writable var _n_kwmeth: nullable TKwmeth
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
 special AConcreteMethPropdef
@@ -445,237 +423,241 @@ class AMainMethPropdef
 special AConcreteMethPropdef
 end
 class ATypePropdef
-special PPropdef
+special APropdef
     readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: PVisibility
+    readable writable var _n_visibility: AVisibility
     readable writable var _n_kwtype: TKwtype
     readable writable var _n_id: TClassid
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
+end
+class AAble special Prod
+    readable writable var _n_kwredef: nullable TKwredef = null
 end
 class AReadAble
-special PAble
+special AAble
     readable writable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
-special PAble
+special AAble
     readable writable var _n_kwwritable: TKwwritable
 end
+class AMethid special Prod end
 class AIdMethid
-special PMethid
+special AMethid
     readable writable var _n_id: TId
 end
 class APlusMethid
-special PMethid
+special AMethid
     readable writable var _n_plus: TPlus
 end
 class AMinusMethid
-special PMethid
+special AMethid
     readable writable var _n_minus: TMinus
 end
 class AStarMethid
-special PMethid
+special AMethid
     readable writable var _n_star: TStar
 end
 class ASlashMethid
-special PMethid
+special AMethid
     readable writable var _n_slash: TSlash
 end
 class APercentMethid
-special PMethid
+special AMethid
     readable writable var _n_percent: TPercent
 end
 class AEqMethid
-special PMethid
+special AMethid
     readable writable var _n_eq: TEq
 end
 class ANeMethid
-special PMethid
+special AMethid
     readable writable var _n_ne: TNe
 end
 class ALeMethid
-special PMethid
+special AMethid
     readable writable var _n_le: TLe
 end
 class AGeMethid
-special PMethid
+special AMethid
     readable writable var _n_ge: TGe
 end
 class ALtMethid
-special PMethid
+special AMethid
     readable writable var _n_lt: TLt
 end
 class AGtMethid
-special PMethid
+special AMethid
     readable writable var _n_gt: TGt
 end
 class ABraMethid
-special PMethid
+special AMethid
     readable writable var _n_obra: TObra
     readable writable var _n_cbra: TCbra
 end
 class AStarshipMethid
-special PMethid
+special AMethid
     readable writable var _n_starship: TStarship
 end
 class AAssignMethid
-special PMethid
+special AMethid
     readable writable var _n_id: TId
     readable writable var _n_assign: TAssign
 end
 class ABraassignMethid
-special PMethid
+special AMethid
     readable writable var _n_obra: TObra
     readable writable var _n_cbra: TCbra
     readable writable var _n_assign: TAssign
 end
 class ASignature
-special PSignature
-    readable writable var _n_params: List[PParam] = new List[PParam]
-    readable writable var _n_type: nullable PType = null
-    readable writable var _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl]
+special Prod
+    readable writable var _n_params: List[AParam] = new List[AParam]
+    readable writable var _n_type: nullable AType = null
+    readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
-special PParam
+special Prod
+    readable writable var _n_id: TId
+    readable writable var _n_type: nullable AType = null
     readable writable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
-special PClosureDecl
+special Prod
     readable writable var _n_kwwith: TKwwith
     readable writable var _n_kwbreak: nullable TKwbreak = null
     readable writable var _n_id: TId
-    readable writable var _n_signature: PSignature
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_signature: ASignature
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AType
-special PType
+special Prod
     readable writable var _n_kwnullable: nullable TKwnullable = null
     readable writable var _n_id: TClassid
-    readable writable var _n_types: List[PType] = new List[PType]
+    readable writable var _n_types: List[AType] = new List[AType]
 end
-
-
-
+class AExpr special Prod end
 class ABlockExpr
-special PExpr
-    readable writable var _n_expr: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
-special PExpr
+special AExpr
     readable writable var _n_kwvar: TKwvar
     readable writable var _n_id: TId
-    readable writable var _n_type: nullable PType = null
+    readable writable var _n_type: nullable AType = null
     readable writable var _n_assign: nullable TAssign = null
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
-special PExpr
+special AExpr
     readable writable var _n_kwreturn: TKwreturn
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class ABreakExpr
-special PExpr
+special AExpr
     readable writable var _n_kwbreak: TKwbreak
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
-special PExpr
+special AExpr
     readable writable var _n_kwabort: TKwabort
 end
 class AContinueExpr
-special PExpr
+special AExpr
     readable writable var _n_kwcontinue: TKwcontinue
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
-special PExpr
+special AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AIfExpr
-special PExpr
+special AExpr
     readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: PExpr
-    readable writable var _n_then: nullable PExpr = null
-    readable writable var _n_else: nullable PExpr = null
+    readable writable var _n_expr: AExpr
+    readable writable var _n_then: nullable AExpr = null
+    readable writable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
-special PExpr
+special AExpr
     readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwthen: TKwthen
-    readable writable var _n_then: PExpr
+    readable writable var _n_then: AExpr
     readable writable var _n_kwelse: TKwelse
-    readable writable var _n_else: PExpr
+    readable writable var _n_else: AExpr
 end
 class AWhileExpr
-special PExpr
+special AExpr
     readable writable var _n_kwwhile:  TKwwhile
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AForExpr
-special PExpr
+special AExpr
     readable writable var _n_kwfor: TKwfor
     readable writable var _n_id: TId
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable PExpr = null
+    readable writable var _n_block: nullable AExpr = null
 end
 class AAssertExpr
-special PExpr
+special AExpr
     readable writable var _n_kwassert: TKwassert
     readable writable var _n_id: nullable TId = null
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class AAssignFormExpr
-special PExpr
+special AExpr
     readable writable var _n_assign: TAssign
-    readable writable var _n_value: PExpr
+    readable writable var _n_value: AExpr
 end
 class AReassignFormExpr
-special PExpr
-    readable writable var _n_assign_op: PAssignOp
-    readable writable var _n_value: PExpr
+special AExpr
+    readable writable var _n_assign_op: AAssignOp
+    readable writable var _n_value: AExpr
 end
 class AOnceExpr
 special AProxyExpr
     readable writable var _n_kwonce: TKwonce
 end
 class ASendExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABinopExpr
 special ASendExpr
-    readable writable var _n_expr2: PExpr
+    readable writable var _n_expr2: AExpr
 end
 class ABoolExpr
-special PExpr
+special AExpr
 end
 class AOrExpr
 special ABoolExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class AAndExpr
 special ABoolExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ANotExpr
 special ABoolExpr
     readable writable var _n_kwnot: TKwnot
-    readable writable var _n_expr: PExpr
+    readable writable var _n_expr: AExpr
 end
 class AEqExpr
 special ABinopExpr
 end
 class AEeExpr
 special ABoolExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ANeExpr
 special ABinopExpr
@@ -694,8 +676,8 @@ special ABinopExpr
 end
 class AIsaExpr
 special ABoolExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_type: PType
+    readable writable var _n_expr: AExpr
+    readable writable var _n_type: AType
 end
 class APlusExpr
 special ABinopExpr
@@ -720,15 +702,15 @@ special ASendExpr
     readable writable var _n_minus: TMinus
 end
 class ANewExpr
-special PExpr
+special AExpr
     readable writable var _n_kwnew: TKwnew
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
     readable writable var _n_id: nullable TId = null
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrFormExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_id: TAttrid
 end
 class AAttrExpr
@@ -741,10 +723,10 @@ end
 class ACallFormExpr
 special ASendExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrReassignExpr
-special PExpr
+special AExpr
 special AAttrFormExpr 
 special AReassignFormExpr 
 end
@@ -756,24 +738,24 @@ special ACallFormExpr
 special AAssignFormExpr 
 end
 class ACallReassignExpr
-special PExpr
+special AExpr
 special ACallFormExpr
 special AReassignFormExpr 
 end
 class ASuperExpr
-special PExpr
-    readable writable var _n_qualified: nullable PQualified = null
+special AExpr
+    readable writable var _n_qualified: nullable AQualified = null
     readable writable var _n_kwsuper: TKwsuper
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
 special ASendExpr
     readable writable var _n_kwinit: TKwinit
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraFormExpr
 special ASendExpr
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
 special ABraFormExpr
@@ -783,7 +765,7 @@ special ABraFormExpr
 special AAssignFormExpr 
 end
 class AVarFormExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
 end
 class ABraReassignExpr
@@ -791,10 +773,10 @@ special ABraFormExpr
 special AReassignFormExpr 
 end
 class AClosureCallExpr
-special PExpr
+special AExpr
     readable writable var _n_id: TId
-    readable writable var _n_args: List[PExpr] = new List[PExpr]
-    readable writable var _n_closure_defs: List[PClosureDef] = new List[PClosureDef]
+    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
 special AVarFormExpr
@@ -808,9 +790,9 @@ special AVarFormExpr
 special AReassignFormExpr 
 end
 class ARangeExpr
-special PExpr
-    readable writable var _n_expr: PExpr
-    readable writable var _n_expr2: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
+    readable writable var _n_expr2: AExpr
 end
 class ACrangeExpr
 special ARangeExpr
@@ -819,11 +801,11 @@ class AOrangeExpr
 special ARangeExpr
 end
 class AArrayExpr
-special PExpr
-    readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
-special PExpr
+special AExpr
     readable writable var _n_kwself: nullable TKwself
 end
 class AImplicitSelfExpr
@@ -838,23 +820,23 @@ special ABoolExpr
     readable writable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special PExpr
+special AExpr
     readable writable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special PExpr
+special AExpr
     readable writable var _n_number: TNumber
 end
 class AFloatExpr
-special PExpr
+special AExpr
     readable writable var _n_float: TFloat
 end
 class ACharExpr
-special PExpr
+special AExpr
     readable writable var _n_char: TChar
 end
 class AStringFormExpr
-special PExpr
+special AExpr
 end
 class AStringExpr
 special AStringFormExpr
@@ -873,25 +855,25 @@ special AStringFormExpr
     readable writable var _n_string: TEndString
 end
 class ASuperstringExpr
-special PExpr
-    readable writable var _n_exprs: List[PExpr] = new List[PExpr]
+special AExpr
+    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
 special AProxyExpr
 end
 class AProxyExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
 end
 class AAsCastExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwas: TKwas
-    readable writable var _n_type: PType
+    readable writable var _n_type: AType
 end
 class AAsNotnullExpr
-special PExpr
-    readable writable var _n_expr: PExpr
+special AExpr
+    readable writable var _n_expr: AExpr
     readable writable var _n_kwas: TKwas
     readable writable var _n_kwnot: TKwnot
     readable writable var _n_kwnull: TKwnull
@@ -900,33 +882,34 @@ class AIssetAttrExpr
 special AAttrFormExpr
     readable writable var _n_kwisset: TKwisset
 end
+class AAssignOp special Prod end
 class APlusAssignOp
-special PAssignOp
+special AAssignOp
     readable writable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
-special PAssignOp
+special AAssignOp
     readable writable var _n_minuseq: TMinuseq
 end
 class AClosureDef
-special PClosureDef
+special Prod
     readable writable var _n_kwwith: TKwwith
     readable writable var _n_id: List[TId] = new List[TId]
     readable writable var _n_kwdo: TKwdo
-    readable writable var _n_expr: nullable PExpr = null
+    readable writable var _n_expr: nullable AExpr = null
 end
 class AQualified
-special PQualified
+special Prod
     readable writable var _n_id: List[TId] = new List[TId]
     readable writable var _n_classid: nullable TClassid = null
 end
 class ADoc
-special PDoc
+special Prod
     readable writable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
 special Prod
-    readable writable var _n_base: nullable PModule
+    readable writable var _n_base: nullable AModule
     readable writable var _n_eof: EOF
 end
index 49ee7f8..f8c9ba6 100644 (file)
@@ -5,21 +5,21 @@ package parser_prod
 import lexer
 intrude import parser_nodes
 
-redef class PNode
+redef class ANode
        # Parent of the node in the AST
-       readable writable var _parent: nullable PNode
+       readable writable var _parent: nullable ANode
 
        # Remove a child from the AST
-       fun remove_child(child: PNode)
+       fun remove_child(child: ANode)
        do
                replace_child(child, null)
        end
 
        # Replace a child with an other node in the AST
-       fun replace_child(old_child: PNode, new_child: nullable PNode) is abstract
+       fun replace_child(old_child: ANode, new_child: nullable ANode) is abstract
 
        # Replace itself with an other node in the AST
-       fun replace_with(node: PNode)
+       fun replace_with(node: ANode)
        do
                if (_parent != null) then
                        _parent.replace_child(self, node)
@@ -48,7 +48,7 @@ end
 redef class Token
        redef fun visit_all(v: Visitor) do end
        redef fun visit_all_reverse(v: Visitor) do end
-       redef fun replace_child(old_child: PNode, new_child: nullable PNode) do end
+       redef fun replace_child(old_child: ANode, new_child: nullable ANode) do end
 end
 
 redef class Prod
@@ -58,7 +58,7 @@ redef class Prod
        # The last token of the production node
        readable writable var _last_token: nullable Token
 
-       redef fun replace_with(n: PNode)
+       redef fun replace_with(n: ANode)
         do
                 super
                 assert n isa Prod
@@ -72,12 +72,12 @@ end
 class Visitor
        # What the visitor do when a node is visited
         # Concrete visitors should redefine this method.
-        protected fun visit(e: nullable PNode) is abstract
+        protected fun visit(e: nullable ANode) is abstract
 
         # Ask the visitor to visit a given node.
         # Usually automatically called by visit_all* methods.
        # This methos should not be redefined
-        fun enter_visit(e: nullable PNode)
+        fun enter_visit(e: nullable ANode)
        do
                var old = _current_node
                _current_node = e
@@ -86,7 +86,7 @@ class Visitor
        end
 
        # The current visited node
-       readable var _current_node: nullable PNode = null
+       readable var _current_node: nullable ANode = null
 end
 
 redef class AModule
@@ -101,9 +101,9 @@ redef class AModule
     private init empty_init do end
 
     init init_amodule (
-            n_packagedecl: nullable PPackagedecl ,
-            n_imports: Collection[Object] , # Should be Collection[PImport]
-            n_classdefs: Collection[Object]  # Should be Collection[PClassdef]
+            n_packagedecl: nullable APackagedecl ,
+            n_imports: Collection[Object] , # Should be Collection[AImport]
+            n_classdefs: Collection[Object]  # Should be Collection[AClassdef]
     )
     do
         empty_init
@@ -112,23 +112,23 @@ redef class AModule
                n_packagedecl.parent = self
        end
        for n in n_imports do
-               assert n isa PImport
+               assert n isa AImport
                _n_imports.add(n)
                n.parent = self
        end
        for n in n_classdefs do
-               assert n isa PClassdef
+               assert n isa AClassdef
                _n_classdefs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_packagedecl == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PPackagedecl
+               assert new_child isa APackagedecl
                 _n_packagedecl = new_child
            else
                _n_packagedecl = null
@@ -138,7 +138,7 @@ redef class AModule
         for i in [0.._n_imports.length[ do
             if _n_imports[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PImport
+                   assert new_child isa AImport
                     _n_imports[i] = new_child
                     new_child.parent = self
                 else
@@ -150,7 +150,7 @@ redef class AModule
         for i in [0.._n_classdefs.length[ do
             if _n_classdefs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PClassdef
+                   assert new_child isa AClassdef
                     _n_classdefs[i] = new_child
                     new_child.parent = self
                 else
@@ -217,7 +217,7 @@ redef class APackagedecl
     private init empty_init do end
 
     init init_apackagedecl (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwpackage: nullable TKwpackage ,
             n_id: nullable TId 
     )
@@ -233,12 +233,12 @@ redef class APackagedecl
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -305,7 +305,7 @@ redef class AStdImport
     private init empty_init do end
 
     init init_astdimport (
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwimport: nullable TKwimport ,
             n_id: nullable TId 
     )
@@ -319,12 +319,12 @@ redef class AStdImport
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -387,7 +387,7 @@ redef class ANoImport
     private init empty_init do end
 
     init init_anoimport (
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwimport: nullable TKwimport ,
             n_kwend: nullable TKwend 
     )
@@ -401,12 +401,12 @@ redef class ANoImport
        n_kwend.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -458,7 +458,7 @@ redef class APublicVisibility
         empty_init
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
     end
 
@@ -488,7 +488,7 @@ redef class APrivateVisibility
        n_kwprivate.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwprivate == old_child then
             if new_child != null then
@@ -530,7 +530,7 @@ redef class AProtectedVisibility
        n_kwprotected.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwprotected == old_child then
             if new_child != null then
@@ -572,7 +572,7 @@ redef class AIntrudeVisibility
        n_kwintrude.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwintrude == old_child then
             if new_child != null then
@@ -632,14 +632,14 @@ redef class AStdClassdef
     private init empty_init do end
 
     init init_astdclassdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
-            n_classkind: nullable PClasskind ,
+            n_visibility: nullable AVisibility ,
+            n_classkind: nullable AClasskind ,
             n_id: nullable TClassid ,
-            n_formaldefs: Collection[Object] , # Should be Collection[PFormaldef]
-            n_superclasses: Collection[Object] , # Should be Collection[PSuperclass]
-            n_propdefs: Collection[Object]  # Should be Collection[PPropdef]
+            n_formaldefs: Collection[Object] , # Should be Collection[AFormaldef]
+            n_superclasses: Collection[Object] , # Should be Collection[ASuperclass]
+            n_propdefs: Collection[Object]  # Should be Collection[APropdef]
     )
     do
         empty_init
@@ -660,28 +660,28 @@ redef class AStdClassdef
                n_id.parent = self
        end
        for n in n_formaldefs do
-               assert n isa PFormaldef
+               assert n isa AFormaldef
                _n_formaldefs.add(n)
                n.parent = self
        end
        for n in n_superclasses do
-               assert n isa PSuperclass
+               assert n isa ASuperclass
                _n_superclasses.add(n)
                n.parent = self
        end
        for n in n_propdefs do
-               assert n isa PPropdef
+               assert n isa APropdef
                _n_propdefs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -701,7 +701,7 @@ redef class AStdClassdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -711,7 +711,7 @@ redef class AStdClassdef
         if _n_classkind == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PClasskind
+               assert new_child isa AClasskind
                 _n_classkind = new_child
            else
                abort
@@ -731,7 +731,7 @@ redef class AStdClassdef
         for i in [0.._n_formaldefs.length[ do
             if _n_formaldefs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PFormaldef
+                   assert new_child isa AFormaldef
                     _n_formaldefs[i] = new_child
                     new_child.parent = self
                 else
@@ -743,7 +743,7 @@ redef class AStdClassdef
         for i in [0.._n_superclasses.length[ do
             if _n_superclasses[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PSuperclass
+                   assert new_child isa ASuperclass
                     _n_superclasses[i] = new_child
                     new_child.parent = self
                 else
@@ -755,7 +755,7 @@ redef class AStdClassdef
         for i in [0.._n_propdefs.length[ do
             if _n_propdefs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PPropdef
+                   assert new_child isa APropdef
                     _n_propdefs[i] = new_child
                     new_child.parent = self
                 else
@@ -831,23 +831,23 @@ redef class ATopClassdef
     private init empty_init do end
 
     init init_atopclassdef (
-            n_propdefs: Collection[Object]  # Should be Collection[PPropdef]
+            n_propdefs: Collection[Object]  # Should be Collection[APropdef]
     )
     do
         empty_init
        for n in n_propdefs do
-               assert n isa PPropdef
+               assert n isa APropdef
                _n_propdefs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_propdefs.length[ do
             if _n_propdefs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PPropdef
+                   assert new_child isa APropdef
                     _n_propdefs[i] = new_child
                     new_child.parent = self
                 else
@@ -881,23 +881,23 @@ redef class AMainClassdef
     private init empty_init do end
 
     init init_amainclassdef (
-            n_propdefs: Collection[Object]  # Should be Collection[PPropdef]
+            n_propdefs: Collection[Object]  # Should be Collection[APropdef]
     )
     do
         empty_init
        for n in n_propdefs do
-               assert n isa PPropdef
+               assert n isa APropdef
                _n_propdefs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_propdefs.length[ do
             if _n_propdefs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PPropdef
+                   assert new_child isa APropdef
                     _n_propdefs[i] = new_child
                     new_child.parent = self
                 else
@@ -944,7 +944,7 @@ redef class AConcreteClasskind
        n_kwclass.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwclass == old_child then
             if new_child != null then
@@ -994,7 +994,7 @@ redef class AAbstractClasskind
        n_kwclass.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwabstract == old_child then
             if new_child != null then
@@ -1048,7 +1048,7 @@ redef class AInterfaceClasskind
        n_kwinterface.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwinterface == old_child then
             if new_child != null then
@@ -1090,7 +1090,7 @@ redef class AUniversalClasskind
        n_kwuniversal.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwuniversal == old_child then
             if new_child != null then
@@ -1132,7 +1132,7 @@ redef class AFormaldef
 
     init init_aformaldef (
             n_id: nullable TClassid ,
-            n_type: nullable PType 
+            n_type: nullable AType 
     )
     do
         empty_init
@@ -1144,7 +1144,7 @@ redef class AFormaldef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -1159,7 +1159,7 @@ redef class AFormaldef
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                _n_type = null
@@ -1200,7 +1200,7 @@ redef class ASuperclass
 
     init init_asuperclass (
             n_kwspecial: nullable TKwspecial ,
-            n_type: nullable PType 
+            n_type: nullable AType 
     )
     do
         empty_init
@@ -1210,7 +1210,7 @@ redef class ASuperclass
        n_type.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwspecial == old_child then
             if new_child != null then
@@ -1225,7 +1225,7 @@ redef class ASuperclass
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                abort
@@ -1317,16 +1317,16 @@ redef class AAttrPropdef
     private init empty_init do end
 
     init init_aattrpropdef (
-            n_doc: nullable PDoc ,
-            n_readable: nullable PAble ,
-            n_writable: nullable PAble ,
+            n_doc: nullable ADoc ,
+            n_readable: nullable AAble ,
+            n_writable: nullable AAble ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwattr: nullable TKwattr ,
             n_kwvar: nullable TKwvar ,
             n_id: nullable TAttrid ,
-            n_type: nullable PType ,
-            n_expr: nullable PExpr 
+            n_type: nullable AType ,
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -1368,12 +1368,12 @@ redef class AAttrPropdef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -1383,7 +1383,7 @@ redef class AAttrPropdef
         if _n_readable == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAble
+               assert new_child isa AAble
                 _n_readable = new_child
            else
                _n_readable = null
@@ -1393,7 +1393,7 @@ redef class AAttrPropdef
         if _n_writable == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAble
+               assert new_child isa AAble
                 _n_writable = new_child
            else
                _n_writable = null
@@ -1413,7 +1413,7 @@ redef class AAttrPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -1453,7 +1453,7 @@ redef class AAttrPropdef
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                _n_type = null
@@ -1463,7 +1463,7 @@ redef class AAttrPropdef
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -1566,11 +1566,11 @@ redef class AMethPropdef
     private init empty_init do end
 
     init init_amethpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature 
+            n_visibility: nullable AVisibility ,
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature 
     )
     do
         empty_init
@@ -1590,12 +1590,12 @@ redef class AMethPropdef
        n_signature.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -1615,7 +1615,7 @@ redef class AMethPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -1625,7 +1625,7 @@ redef class AMethPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                abort
@@ -1635,7 +1635,7 @@ redef class AMethPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -1709,12 +1709,12 @@ redef class ADeferredMethPropdef
     private init empty_init do end
 
     init init_adeferredmethpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwmeth: nullable TKwmeth ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature 
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature 
     )
     do
         empty_init
@@ -1736,12 +1736,12 @@ redef class ADeferredMethPropdef
        n_signature.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -1761,7 +1761,7 @@ redef class ADeferredMethPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -1781,7 +1781,7 @@ redef class ADeferredMethPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                abort
@@ -1791,7 +1791,7 @@ redef class ADeferredMethPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -1867,12 +1867,12 @@ redef class AInternMethPropdef
     private init empty_init do end
 
     init init_ainternmethpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwmeth: nullable TKwmeth ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature 
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature 
     )
     do
         empty_init
@@ -1894,12 +1894,12 @@ redef class AInternMethPropdef
        n_signature.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -1919,7 +1919,7 @@ redef class AInternMethPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -1939,7 +1939,7 @@ redef class AInternMethPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                abort
@@ -1949,7 +1949,7 @@ redef class AInternMethPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -2032,12 +2032,12 @@ redef class AExternMethPropdef
     private init empty_init do end
 
     init init_aexternmethpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwmeth: nullable TKwmeth ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature ,
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature ,
             n_extern: nullable TString 
     )
     do
@@ -2064,12 +2064,12 @@ redef class AExternMethPropdef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -2089,7 +2089,7 @@ redef class AExternMethPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -2109,7 +2109,7 @@ redef class AExternMethPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                abort
@@ -2119,7 +2119,7 @@ redef class AExternMethPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -2218,13 +2218,13 @@ redef class AConcreteMethPropdef
     private init empty_init do end
 
     init init_aconcretemethpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwmeth: nullable TKwmeth ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature ,
-            n_block: nullable PExpr 
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature ,
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -2250,12 +2250,12 @@ redef class AConcreteMethPropdef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -2275,7 +2275,7 @@ redef class AConcreteMethPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -2295,7 +2295,7 @@ redef class AConcreteMethPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                abort
@@ -2305,7 +2305,7 @@ redef class AConcreteMethPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -2315,7 +2315,7 @@ redef class AConcreteMethPropdef
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -2406,13 +2406,13 @@ redef class AConcreteInitPropdef
     private init empty_init do end
 
     init init_aconcreteinitpropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwinit: nullable TKwinit ,
-            n_methid: nullable PMethid ,
-            n_signature: nullable PSignature ,
-            n_block: nullable PExpr 
+            n_methid: nullable AMethid ,
+            n_signature: nullable ASignature ,
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -2440,12 +2440,12 @@ redef class AConcreteInitPropdef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -2465,7 +2465,7 @@ redef class AConcreteInitPropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -2485,7 +2485,7 @@ redef class AConcreteInitPropdef
         if _n_methid == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PMethid
+               assert new_child isa AMethid
                 _n_methid = new_child
            else
                _n_methid = null
@@ -2495,7 +2495,7 @@ redef class AConcreteInitPropdef
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -2505,7 +2505,7 @@ redef class AConcreteInitPropdef
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -2572,7 +2572,7 @@ redef class AMainMethPropdef
 
     init init_amainmethpropdef (
             n_kwredef: nullable TKwredef ,
-            n_block: nullable PExpr 
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -2586,7 +2586,7 @@ redef class AMainMethPropdef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwredef == old_child then
             if new_child != null then
@@ -2601,7 +2601,7 @@ redef class AMainMethPropdef
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -2669,12 +2669,12 @@ redef class ATypePropdef
     private init empty_init do end
 
     init init_atypepropdef (
-            n_doc: nullable PDoc ,
+            n_doc: nullable ADoc ,
             n_kwredef: nullable TKwredef ,
-            n_visibility: nullable PVisibility ,
+            n_visibility: nullable AVisibility ,
             n_kwtype: nullable TKwtype ,
             n_id: nullable TClassid ,
-            n_type: nullable PType 
+            n_type: nullable AType 
     )
     do
         empty_init
@@ -2696,12 +2696,12 @@ redef class ATypePropdef
        n_type.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_doc == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PDoc
+               assert new_child isa ADoc
                 _n_doc = new_child
            else
                _n_doc = null
@@ -2721,7 +2721,7 @@ redef class ATypePropdef
         if _n_visibility == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PVisibility
+               assert new_child isa AVisibility
                 _n_visibility = new_child
            else
                abort
@@ -2751,7 +2751,7 @@ redef class ATypePropdef
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                abort
@@ -2818,7 +2818,7 @@ redef class AReadAble
        n_kwreadable.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwredef == old_child then
             if new_child != null then
@@ -2888,7 +2888,7 @@ redef class AWriteAble
        n_kwwritable.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwredef == old_child then
             if new_child != null then
@@ -2946,7 +2946,7 @@ redef class AIdMethid
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -2988,7 +2988,7 @@ redef class APlusMethid
        n_plus.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_plus == old_child then
             if new_child != null then
@@ -3030,7 +3030,7 @@ redef class AMinusMethid
        n_minus.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_minus == old_child then
             if new_child != null then
@@ -3072,7 +3072,7 @@ redef class AStarMethid
        n_star.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_star == old_child then
             if new_child != null then
@@ -3114,7 +3114,7 @@ redef class ASlashMethid
        n_slash.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_slash == old_child then
             if new_child != null then
@@ -3156,7 +3156,7 @@ redef class APercentMethid
        n_percent.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_percent == old_child then
             if new_child != null then
@@ -3198,7 +3198,7 @@ redef class AEqMethid
        n_eq.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_eq == old_child then
             if new_child != null then
@@ -3240,7 +3240,7 @@ redef class ANeMethid
        n_ne.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_ne == old_child then
             if new_child != null then
@@ -3282,7 +3282,7 @@ redef class ALeMethid
        n_le.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_le == old_child then
             if new_child != null then
@@ -3324,7 +3324,7 @@ redef class AGeMethid
        n_ge.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_ge == old_child then
             if new_child != null then
@@ -3366,7 +3366,7 @@ redef class ALtMethid
        n_lt.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_lt == old_child then
             if new_child != null then
@@ -3408,7 +3408,7 @@ redef class AGtMethid
        n_gt.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_gt == old_child then
             if new_child != null then
@@ -3458,7 +3458,7 @@ redef class ABraMethid
        n_cbra.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_obra == old_child then
             if new_child != null then
@@ -3512,7 +3512,7 @@ redef class AStarshipMethid
        n_starship.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_starship == old_child then
             if new_child != null then
@@ -3562,7 +3562,7 @@ redef class AAssignMethid
        n_assign.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -3632,7 +3632,7 @@ redef class ABraassignMethid
        n_assign.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_obra == old_child then
             if new_child != null then
@@ -3692,14 +3692,14 @@ redef class ASignature
     private init empty_init do end
 
     init init_asignature (
-            n_params: Collection[Object] , # Should be Collection[PParam]
-            n_type: nullable PType ,
-            n_closure_decls: Collection[Object]  # Should be Collection[PClosureDecl]
+            n_params: Collection[Object] , # Should be Collection[AParam]
+            n_type: nullable AType ,
+            n_closure_decls: Collection[Object]  # Should be Collection[AClosureDecl]
     )
     do
         empty_init
        for n in n_params do
-               assert n isa PParam
+               assert n isa AParam
                _n_params.add(n)
                n.parent = self
        end
@@ -3708,18 +3708,18 @@ redef class ASignature
                n_type.parent = self
        end
        for n in n_closure_decls do
-               assert n isa PClosureDecl
+               assert n isa AClosureDecl
                _n_closure_decls.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_params.length[ do
             if _n_params[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PParam
+                   assert new_child isa AParam
                     _n_params[i] = new_child
                     new_child.parent = self
                 else
@@ -3731,7 +3731,7 @@ redef class ASignature
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                _n_type = null
@@ -3741,7 +3741,7 @@ redef class ASignature
         for i in [0.._n_closure_decls.length[ do
             if _n_closure_decls[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PClosureDecl
+                   assert new_child isa AClosureDecl
                     _n_closure_decls[i] = new_child
                     new_child.parent = self
                 else
@@ -3811,7 +3811,7 @@ redef class AParam
 
     init init_aparam (
             n_id: nullable TId ,
-            n_type: nullable PType ,
+            n_type: nullable AType ,
             n_dotdotdot: nullable TDotdotdot 
     )
     do
@@ -3828,7 +3828,7 @@ redef class AParam
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -3843,7 +3843,7 @@ redef class AParam
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                _n_type = null
@@ -3921,8 +3921,8 @@ redef class AClosureDecl
             n_kwwith: nullable TKwwith ,
             n_kwbreak: nullable TKwbreak ,
             n_id: nullable TId ,
-            n_signature: nullable PSignature ,
-            n_expr: nullable PExpr 
+            n_signature: nullable ASignature ,
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -3942,7 +3942,7 @@ redef class AClosureDecl
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwwith == old_child then
             if new_child != null then
@@ -3977,7 +3977,7 @@ redef class AClosureDecl
         if _n_signature == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PSignature
+               assert new_child isa ASignature
                 _n_signature = new_child
            else
                abort
@@ -3987,7 +3987,7 @@ redef class AClosureDecl
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -4041,7 +4041,7 @@ redef class AType
     init init_atype (
             n_kwnullable: nullable TKwnullable ,
             n_id: nullable TClassid ,
-            n_types: Collection[Object]  # Should be Collection[PType]
+            n_types: Collection[Object]  # Should be Collection[AType]
     )
     do
         empty_init
@@ -4052,13 +4052,13 @@ redef class AType
         _n_id = n_id.as(not null)
        n_id.parent = self
        for n in n_types do
-               assert n isa PType
+               assert n isa AType
                _n_types.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwnullable == old_child then
             if new_child != null then
@@ -4083,7 +4083,7 @@ redef class AType
         for i in [0.._n_types.length[ do
             if _n_types[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PType
+                   assert new_child isa AType
                     _n_types[i] = new_child
                     new_child.parent = self
                 else
@@ -4125,23 +4125,23 @@ redef class ABlockExpr
     private init empty_init do end
 
     init init_ablockexpr (
-            n_expr: Collection[Object]  # Should be Collection[PExpr]
+            n_expr: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
        for n in n_expr do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_expr.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_expr.length[ do
             if _n_expr[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_expr[i] = new_child
                     new_child.parent = self
                 else
@@ -4208,9 +4208,9 @@ redef class AVardeclExpr
     init init_avardeclexpr (
             n_kwvar: nullable TKwvar ,
             n_id: nullable TId ,
-            n_type: nullable PType ,
+            n_type: nullable AType ,
             n_assign: nullable TAssign ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -4232,7 +4232,7 @@ redef class AVardeclExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwvar == old_child then
             if new_child != null then
@@ -4257,7 +4257,7 @@ redef class AVardeclExpr
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                _n_type = null
@@ -4277,7 +4277,7 @@ redef class AVardeclExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -4334,7 +4334,7 @@ redef class AReturnExpr
 
     init init_areturnexpr (
             n_kwreturn: nullable TKwreturn ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -4346,7 +4346,7 @@ redef class AReturnExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwreturn == old_child then
             if new_child != null then
@@ -4361,7 +4361,7 @@ redef class AReturnExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -4404,7 +4404,7 @@ redef class ABreakExpr
 
     init init_abreakexpr (
             n_kwbreak: nullable TKwbreak ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -4416,7 +4416,7 @@ redef class ABreakExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwbreak == old_child then
             if new_child != null then
@@ -4431,7 +4431,7 @@ redef class ABreakExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -4474,7 +4474,7 @@ redef class AAbortExpr
        n_kwabort.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwabort == old_child then
             if new_child != null then
@@ -4516,7 +4516,7 @@ redef class AContinueExpr
 
     init init_acontinueexpr (
             n_kwcontinue: nullable TKwcontinue ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -4528,7 +4528,7 @@ redef class AContinueExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwcontinue == old_child then
             if new_child != null then
@@ -4543,7 +4543,7 @@ redef class AContinueExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -4586,7 +4586,7 @@ redef class ADoExpr
 
     init init_adoexpr (
             n_kwdo: nullable TKwdo ,
-            n_block: nullable PExpr 
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -4598,7 +4598,7 @@ redef class ADoExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwdo == old_child then
             if new_child != null then
@@ -4613,7 +4613,7 @@ redef class ADoExpr
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -4668,9 +4668,9 @@ redef class AIfExpr
 
     init init_aifexpr (
             n_kwif: nullable TKwif ,
-            n_expr: nullable PExpr ,
-            n_then: nullable PExpr ,
-            n_else: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_then: nullable AExpr ,
+            n_else: nullable AExpr 
     )
     do
         empty_init
@@ -4688,7 +4688,7 @@ redef class AIfExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwif == old_child then
             if new_child != null then
@@ -4703,7 +4703,7 @@ redef class AIfExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -4713,7 +4713,7 @@ redef class AIfExpr
         if _n_then == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_then = new_child
            else
                _n_then = null
@@ -4723,7 +4723,7 @@ redef class AIfExpr
         if _n_else == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_else = new_child
            else
                _n_else = null
@@ -4792,11 +4792,11 @@ redef class AIfexprExpr
 
     init init_aifexprexpr (
             n_kwif: nullable TKwif ,
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwthen: nullable TKwthen ,
-            n_then: nullable PExpr ,
+            n_then: nullable AExpr ,
             n_kwelse: nullable TKwelse ,
-            n_else: nullable PExpr 
+            n_else: nullable AExpr 
     )
     do
         empty_init
@@ -4814,7 +4814,7 @@ redef class AIfexprExpr
        n_else.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwif == old_child then
             if new_child != null then
@@ -4829,7 +4829,7 @@ redef class AIfexprExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -4849,7 +4849,7 @@ redef class AIfexprExpr
         if _n_then == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_then = new_child
            else
                abort
@@ -4869,7 +4869,7 @@ redef class AIfexprExpr
         if _n_else == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_else = new_child
            else
                abort
@@ -4926,9 +4926,9 @@ redef class AWhileExpr
 
     init init_awhileexpr (
             n_kwwhile: nullable TKwwhile ,
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwdo: nullable TKwdo ,
-            n_block: nullable PExpr 
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -4944,7 +4944,7 @@ redef class AWhileExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwwhile == old_child then
             if new_child != null then
@@ -4959,7 +4959,7 @@ redef class AWhileExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -4979,7 +4979,7 @@ redef class AWhileExpr
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -5042,9 +5042,9 @@ redef class AForExpr
     init init_aforexpr (
             n_kwfor: nullable TKwfor ,
             n_id: nullable TId ,
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwdo: nullable TKwdo ,
-            n_block: nullable PExpr 
+            n_block: nullable AExpr 
     )
     do
         empty_init
@@ -5062,7 +5062,7 @@ redef class AForExpr
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwfor == old_child then
             if new_child != null then
@@ -5087,7 +5087,7 @@ redef class AForExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5107,7 +5107,7 @@ redef class AForExpr
         if _n_block == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_block = new_child
            else
                _n_block = null
@@ -5162,7 +5162,7 @@ redef class AAssertExpr
     init init_aassertexpr (
             n_kwassert: nullable TKwassert ,
             n_id: nullable TId ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -5176,7 +5176,7 @@ redef class AAssertExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwassert == old_child then
             if new_child != null then
@@ -5201,7 +5201,7 @@ redef class AAssertExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5244,7 +5244,7 @@ redef class AOnceExpr
 
     init init_aonceexpr (
             n_kwonce: nullable TKwonce ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -5254,7 +5254,7 @@ redef class AOnceExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwonce == old_child then
             if new_child != null then
@@ -5269,7 +5269,7 @@ redef class AOnceExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5300,7 +5300,7 @@ redef class ASendExpr
     private init empty_init do end
 
     init init_asendexpr (
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -5308,12 +5308,12 @@ redef class ASendExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5347,8 +5347,8 @@ redef class ABinopExpr
     private init empty_init do end
 
     init init_abinopexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5358,12 +5358,12 @@ redef class ABinopExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5373,7 +5373,7 @@ redef class ABinopExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5409,8 +5409,8 @@ redef class AOrExpr
     private init empty_init do end
 
     init init_aorexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5420,12 +5420,12 @@ redef class AOrExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5435,7 +5435,7 @@ redef class AOrExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5471,8 +5471,8 @@ redef class AAndExpr
     private init empty_init do end
 
     init init_aandexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5482,12 +5482,12 @@ redef class AAndExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5497,7 +5497,7 @@ redef class AAndExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5534,7 +5534,7 @@ redef class ANotExpr
 
     init init_anotexpr (
             n_kwnot: nullable TKwnot ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -5544,7 +5544,7 @@ redef class ANotExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwnot == old_child then
             if new_child != null then
@@ -5559,7 +5559,7 @@ redef class ANotExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5595,8 +5595,8 @@ redef class AEqExpr
     private init empty_init do end
 
     init init_aeqexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5606,12 +5606,12 @@ redef class AEqExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5621,7 +5621,7 @@ redef class AEqExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5657,8 +5657,8 @@ redef class AEeExpr
     private init empty_init do end
 
     init init_aeeexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5668,12 +5668,12 @@ redef class AEeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5683,7 +5683,7 @@ redef class AEeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5719,8 +5719,8 @@ redef class ANeExpr
     private init empty_init do end
 
     init init_aneexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5730,12 +5730,12 @@ redef class ANeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5745,7 +5745,7 @@ redef class ANeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5781,8 +5781,8 @@ redef class ALtExpr
     private init empty_init do end
 
     init init_altexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5792,12 +5792,12 @@ redef class ALtExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5807,7 +5807,7 @@ redef class ALtExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5843,8 +5843,8 @@ redef class ALeExpr
     private init empty_init do end
 
     init init_aleexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5854,12 +5854,12 @@ redef class ALeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5869,7 +5869,7 @@ redef class ALeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5905,8 +5905,8 @@ redef class AGtExpr
     private init empty_init do end
 
     init init_agtexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5916,12 +5916,12 @@ redef class AGtExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5931,7 +5931,7 @@ redef class AGtExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -5967,8 +5967,8 @@ redef class AGeExpr
     private init empty_init do end
 
     init init_ageexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -5978,12 +5978,12 @@ redef class AGeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -5993,7 +5993,7 @@ redef class AGeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6029,8 +6029,8 @@ redef class AIsaExpr
     private init empty_init do end
 
     init init_aisaexpr (
-            n_expr: nullable PExpr ,
-            n_type: nullable PType 
+            n_expr: nullable AExpr ,
+            n_type: nullable AType 
     )
     do
         empty_init
@@ -6040,12 +6040,12 @@ redef class AIsaExpr
        n_type.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6055,7 +6055,7 @@ redef class AIsaExpr
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                abort
@@ -6091,8 +6091,8 @@ redef class APlusExpr
     private init empty_init do end
 
     init init_aplusexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6102,12 +6102,12 @@ redef class APlusExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6117,7 +6117,7 @@ redef class APlusExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6153,8 +6153,8 @@ redef class AMinusExpr
     private init empty_init do end
 
     init init_aminusexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6164,12 +6164,12 @@ redef class AMinusExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6179,7 +6179,7 @@ redef class AMinusExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6215,8 +6215,8 @@ redef class AStarshipExpr
     private init empty_init do end
 
     init init_astarshipexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6226,12 +6226,12 @@ redef class AStarshipExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6241,7 +6241,7 @@ redef class AStarshipExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6277,8 +6277,8 @@ redef class AStarExpr
     private init empty_init do end
 
     init init_astarexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6288,12 +6288,12 @@ redef class AStarExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6303,7 +6303,7 @@ redef class AStarExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6339,8 +6339,8 @@ redef class ASlashExpr
     private init empty_init do end
 
     init init_aslashexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6350,12 +6350,12 @@ redef class ASlashExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6365,7 +6365,7 @@ redef class ASlashExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6401,8 +6401,8 @@ redef class APercentExpr
     private init empty_init do end
 
     init init_apercentexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -6412,12 +6412,12 @@ redef class APercentExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6427,7 +6427,7 @@ redef class APercentExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -6464,7 +6464,7 @@ redef class AUminusExpr
 
     init init_auminusexpr (
             n_minus: nullable TMinus ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -6474,7 +6474,7 @@ redef class AUminusExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_minus == old_child then
             if new_child != null then
@@ -6489,7 +6489,7 @@ redef class AUminusExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6533,9 +6533,9 @@ redef class ANewExpr
 
     init init_anewexpr (
             n_kwnew: nullable TKwnew ,
-            n_type: nullable PType ,
+            n_type: nullable AType ,
             n_id: nullable TId ,
-            n_args: Collection[Object]  # Should be Collection[PExpr]
+            n_args: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
@@ -6548,13 +6548,13 @@ redef class ANewExpr
                n_id.parent = self
        end
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwnew == old_child then
             if new_child != null then
@@ -6569,7 +6569,7 @@ redef class ANewExpr
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                abort
@@ -6589,7 +6589,7 @@ redef class ANewExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -6643,7 +6643,7 @@ redef class AAttrExpr
     private init empty_init do end
 
     init init_aattrexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TAttrid 
     )
     do
@@ -6654,12 +6654,12 @@ redef class AAttrExpr
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6715,10 +6715,10 @@ redef class AAttrAssignExpr
     private init empty_init do end
 
     init init_aattrassignexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TAttrid ,
             n_assign: nullable TAssign ,
-            n_value: nullable PExpr 
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -6732,12 +6732,12 @@ redef class AAttrAssignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6767,7 +6767,7 @@ redef class AAttrAssignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -6817,10 +6817,10 @@ redef class AAttrReassignExpr
     private init empty_init do end
 
     init init_aattrreassignexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TAttrid ,
-            n_assign_op: nullable PAssignOp ,
-            n_value: nullable PExpr 
+            n_assign_op: nullable AAssignOp ,
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -6834,12 +6834,12 @@ redef class AAttrReassignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6859,7 +6859,7 @@ redef class AAttrReassignExpr
         if _n_assign_op == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAssignOp
+               assert new_child isa AAssignOp
                 _n_assign_op = new_child
            else
                abort
@@ -6869,7 +6869,7 @@ redef class AAttrReassignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -6909,10 +6909,10 @@ redef class ACallExpr
     private init empty_init do end
 
     init init_acallexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TId ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
-            n_closure_defs: Collection[Object]  # Should be Collection[PClosureDef]
+            n_args: Collection[Object] , # Should be Collection[AExpr]
+            n_closure_defs: Collection[Object]  # Should be Collection[AClosureDef]
     )
     do
         empty_init
@@ -6921,23 +6921,23 @@ redef class ACallExpr
         _n_id = n_id.as(not null)
        n_id.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
        for n in n_closure_defs do
-               assert n isa PClosureDef
+               assert n isa AClosureDef
                _n_closure_defs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -6957,7 +6957,7 @@ redef class ACallExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -6969,7 +6969,7 @@ redef class ACallExpr
         for i in [0.._n_closure_defs.length[ do
             if _n_closure_defs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PClosureDef
+                   assert new_child isa AClosureDef
                     _n_closure_defs[i] = new_child
                     new_child.parent = self
                 else
@@ -7037,11 +7037,11 @@ redef class ACallAssignExpr
     private init empty_init do end
 
     init init_acallassignexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TId ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
+            n_args: Collection[Object] , # Should be Collection[AExpr]
             n_assign: nullable TAssign ,
-            n_value: nullable PExpr 
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -7050,7 +7050,7 @@ redef class ACallAssignExpr
         _n_id = n_id.as(not null)
        n_id.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
@@ -7060,12 +7060,12 @@ redef class ACallAssignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7085,7 +7085,7 @@ redef class ACallAssignExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7107,7 +7107,7 @@ redef class ACallAssignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -7167,11 +7167,11 @@ redef class ACallReassignExpr
     private init empty_init do end
 
     init init_acallreassignexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TId ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
-            n_assign_op: nullable PAssignOp ,
-            n_value: nullable PExpr 
+            n_args: Collection[Object] , # Should be Collection[AExpr]
+            n_assign_op: nullable AAssignOp ,
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -7180,7 +7180,7 @@ redef class ACallReassignExpr
         _n_id = n_id.as(not null)
        n_id.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
@@ -7190,12 +7190,12 @@ redef class ACallReassignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7215,7 +7215,7 @@ redef class ACallReassignExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7227,7 +7227,7 @@ redef class ACallReassignExpr
         if _n_assign_op == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAssignOp
+               assert new_child isa AAssignOp
                 _n_assign_op = new_child
            else
                abort
@@ -7237,7 +7237,7 @@ redef class ACallReassignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -7289,9 +7289,9 @@ redef class ASuperExpr
     private init empty_init do end
 
     init init_asuperexpr (
-            n_qualified: nullable PQualified ,
+            n_qualified: nullable AQualified ,
             n_kwsuper: nullable TKwsuper ,
-            n_args: Collection[Object]  # Should be Collection[PExpr]
+            n_args: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
@@ -7302,18 +7302,18 @@ redef class ASuperExpr
         _n_kwsuper = n_kwsuper.as(not null)
        n_kwsuper.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_qualified == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PQualified
+               assert new_child isa AQualified
                 _n_qualified = new_child
            else
                _n_qualified = null
@@ -7333,7 +7333,7 @@ redef class ASuperExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7385,9 +7385,9 @@ redef class AInitExpr
     private init empty_init do end
 
     init init_ainitexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwinit: nullable TKwinit ,
-            n_args: Collection[Object]  # Should be Collection[PExpr]
+            n_args: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
@@ -7396,18 +7396,18 @@ redef class AInitExpr
         _n_kwinit = n_kwinit.as(not null)
        n_kwinit.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7427,7 +7427,7 @@ redef class AInitExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7470,32 +7470,32 @@ redef class ABraExpr
     private init empty_init do end
 
     init init_abraexpr (
-            n_expr: nullable PExpr ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
-            n_closure_defs: Collection[Object]  # Should be Collection[PClosureDef]
+            n_expr: nullable AExpr ,
+            n_args: Collection[Object] , # Should be Collection[AExpr]
+            n_closure_defs: Collection[Object]  # Should be Collection[AClosureDef]
     )
     do
         empty_init
         _n_expr = n_expr.as(not null)
        n_expr.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
        for n in n_closure_defs do
-               assert n isa PClosureDef
+               assert n isa AClosureDef
                _n_closure_defs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7505,7 +7505,7 @@ redef class ABraExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7517,7 +7517,7 @@ redef class ABraExpr
         for i in [0.._n_closure_defs.length[ do
             if _n_closure_defs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PClosureDef
+                   assert new_child isa AClosureDef
                     _n_closure_defs[i] = new_child
                     new_child.parent = self
                 else
@@ -7578,17 +7578,17 @@ redef class ABraAssignExpr
     private init empty_init do end
 
     init init_abraassignexpr (
-            n_expr: nullable PExpr ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
+            n_expr: nullable AExpr ,
+            n_args: Collection[Object] , # Should be Collection[AExpr]
             n_assign: nullable TAssign ,
-            n_value: nullable PExpr 
+            n_value: nullable AExpr 
     )
     do
         empty_init
         _n_expr = n_expr.as(not null)
        n_expr.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
@@ -7598,12 +7598,12 @@ redef class ABraAssignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7613,7 +7613,7 @@ redef class ABraAssignExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7635,7 +7635,7 @@ redef class ABraAssignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -7688,17 +7688,17 @@ redef class ABraReassignExpr
     private init empty_init do end
 
     init init_abrareassignexpr (
-            n_expr: nullable PExpr ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
-            n_assign_op: nullable PAssignOp ,
-            n_value: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_args: Collection[Object] , # Should be Collection[AExpr]
+            n_assign_op: nullable AAssignOp ,
+            n_value: nullable AExpr 
     )
     do
         empty_init
         _n_expr = n_expr.as(not null)
        n_expr.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
@@ -7708,12 +7708,12 @@ redef class ABraReassignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -7723,7 +7723,7 @@ redef class ABraReassignExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7735,7 +7735,7 @@ redef class ABraReassignExpr
         if _n_assign_op == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAssignOp
+               assert new_child isa AAssignOp
                 _n_assign_op = new_child
            else
                abort
@@ -7745,7 +7745,7 @@ redef class ABraReassignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -7789,26 +7789,26 @@ redef class AClosureCallExpr
 
     init init_aclosurecallexpr (
             n_id: nullable TId ,
-            n_args: Collection[Object] , # Should be Collection[PExpr]
-            n_closure_defs: Collection[Object]  # Should be Collection[PClosureDef]
+            n_args: Collection[Object] , # Should be Collection[AExpr]
+            n_closure_defs: Collection[Object]  # Should be Collection[AClosureDef]
     )
     do
         empty_init
         _n_id = n_id.as(not null)
        n_id.parent = self
        for n in n_args do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_args.add(n)
                n.parent = self
        end
        for n in n_closure_defs do
-               assert n isa PClosureDef
+               assert n isa AClosureDef
                _n_closure_defs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -7823,7 +7823,7 @@ redef class AClosureCallExpr
         for i in [0.._n_args.length[ do
             if _n_args[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_args[i] = new_child
                     new_child.parent = self
                 else
@@ -7835,7 +7835,7 @@ redef class AClosureCallExpr
         for i in [0.._n_closure_defs.length[ do
             if _n_closure_defs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PClosureDef
+                   assert new_child isa AClosureDef
                     _n_closure_defs[i] = new_child
                     new_child.parent = self
                 else
@@ -7894,7 +7894,7 @@ redef class AVarExpr
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -7940,7 +7940,7 @@ redef class AVarAssignExpr
     init init_avarassignexpr (
             n_id: nullable TId ,
             n_assign: nullable TAssign ,
-            n_value: nullable PExpr 
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -7952,7 +7952,7 @@ redef class AVarAssignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -7977,7 +7977,7 @@ redef class AVarAssignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -8021,8 +8021,8 @@ redef class AVarReassignExpr
 
     init init_avarreassignexpr (
             n_id: nullable TId ,
-            n_assign_op: nullable PAssignOp ,
-            n_value: nullable PExpr 
+            n_assign_op: nullable AAssignOp ,
+            n_value: nullable AExpr 
     )
     do
         empty_init
@@ -8034,7 +8034,7 @@ redef class AVarReassignExpr
        n_value.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_id == old_child then
             if new_child != null then
@@ -8049,7 +8049,7 @@ redef class AVarReassignExpr
         if _n_assign_op == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PAssignOp
+               assert new_child isa AAssignOp
                 _n_assign_op = new_child
            else
                abort
@@ -8059,7 +8059,7 @@ redef class AVarReassignExpr
         if _n_value == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_value = new_child
            else
                abort
@@ -8097,8 +8097,8 @@ redef class ARangeExpr
     private init empty_init do end
 
     init init_arangeexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -8108,12 +8108,12 @@ redef class ARangeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -8123,7 +8123,7 @@ redef class ARangeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -8159,8 +8159,8 @@ redef class ACrangeExpr
     private init empty_init do end
 
     init init_acrangeexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -8170,12 +8170,12 @@ redef class ACrangeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -8185,7 +8185,7 @@ redef class ACrangeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -8221,8 +8221,8 @@ redef class AOrangeExpr
     private init empty_init do end
 
     init init_aorangeexpr (
-            n_expr: nullable PExpr ,
-            n_expr2: nullable PExpr 
+            n_expr: nullable AExpr ,
+            n_expr2: nullable AExpr 
     )
     do
         empty_init
@@ -8232,12 +8232,12 @@ redef class AOrangeExpr
        n_expr2.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -8247,7 +8247,7 @@ redef class AOrangeExpr
         if _n_expr2 == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr2 = new_child
            else
                abort
@@ -8273,23 +8273,23 @@ redef class AArrayExpr
     private init empty_init do end
 
     init init_aarrayexpr (
-            n_exprs: Collection[Object]  # Should be Collection[PExpr]
+            n_exprs: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
        for n in n_exprs do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_exprs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_exprs.length[ do
             if _n_exprs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_exprs[i] = new_child
                     new_child.parent = self
                 else
@@ -8336,7 +8336,7 @@ redef class ASelfExpr
        n_kwself.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwself == old_child then
             if new_child != null then
@@ -8369,7 +8369,7 @@ redef class AImplicitSelfExpr
         empty_init
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
     end
 
@@ -8399,7 +8399,7 @@ redef class ATrueExpr
        n_kwtrue.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwtrue == old_child then
             if new_child != null then
@@ -8441,7 +8441,7 @@ redef class AFalseExpr
        n_kwfalse.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwfalse == old_child then
             if new_child != null then
@@ -8483,7 +8483,7 @@ redef class ANullExpr
        n_kwnull.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwnull == old_child then
             if new_child != null then
@@ -8525,7 +8525,7 @@ redef class AIntExpr
        n_number.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_number == old_child then
             if new_child != null then
@@ -8567,7 +8567,7 @@ redef class AFloatExpr
        n_float.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_float == old_child then
             if new_child != null then
@@ -8609,7 +8609,7 @@ redef class ACharExpr
        n_char.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_char == old_child then
             if new_child != null then
@@ -8651,7 +8651,7 @@ redef class AStringExpr
        n_string.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_string == old_child then
             if new_child != null then
@@ -8693,7 +8693,7 @@ redef class AStartStringExpr
        n_string.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_string == old_child then
             if new_child != null then
@@ -8735,7 +8735,7 @@ redef class AMidStringExpr
        n_string.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_string == old_child then
             if new_child != null then
@@ -8777,7 +8777,7 @@ redef class AEndStringExpr
        n_string.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_string == old_child then
             if new_child != null then
@@ -8806,23 +8806,23 @@ redef class ASuperstringExpr
     private init empty_init do end
 
     init init_asuperstringexpr (
-            n_exprs: Collection[Object]  # Should be Collection[PExpr]
+            n_exprs: Collection[Object]  # Should be Collection[AExpr]
     )
     do
         empty_init
        for n in n_exprs do
-               assert n isa PExpr
+               assert n isa AExpr
                _n_exprs.add(n)
                n.parent = self
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_exprs.length[ do
             if _n_exprs[i] == old_child then
                 if new_child != null then
-                   assert new_child isa PExpr
+                   assert new_child isa AExpr
                     _n_exprs[i] = new_child
                     new_child.parent = self
                 else
@@ -8861,7 +8861,7 @@ redef class AParExpr
     private init empty_init do end
 
     init init_aparexpr (
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -8869,12 +8869,12 @@ redef class AParExpr
        n_expr.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -8913,9 +8913,9 @@ redef class AAsCastExpr
     private init empty_init do end
 
     init init_aascastexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwas: nullable TKwas ,
-            n_type: nullable PType 
+            n_type: nullable AType 
     )
     do
         empty_init
@@ -8927,12 +8927,12 @@ redef class AAsCastExpr
        n_type.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -8952,7 +8952,7 @@ redef class AAsCastExpr
         if _n_type == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PType
+               assert new_child isa AType
                 _n_type = new_child
            else
                abort
@@ -9000,7 +9000,7 @@ redef class AAsNotnullExpr
     private init empty_init do end
 
     init init_aasnotnullexpr (
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_kwas: nullable TKwas ,
             n_kwnot: nullable TKwnot ,
             n_kwnull: nullable TKwnull 
@@ -9017,12 +9017,12 @@ redef class AAsNotnullExpr
        n_kwnull.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -9098,7 +9098,7 @@ redef class AIssetAttrExpr
 
     init init_aissetattrexpr (
             n_kwisset: nullable TKwisset ,
-            n_expr: nullable PExpr ,
+            n_expr: nullable AExpr ,
             n_id: nullable TAttrid 
     )
     do
@@ -9111,7 +9111,7 @@ redef class AIssetAttrExpr
        n_id.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwisset == old_child then
             if new_child != null then
@@ -9126,7 +9126,7 @@ redef class AIssetAttrExpr
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                abort
@@ -9177,7 +9177,7 @@ redef class APlusAssignOp
        n_pluseq.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_pluseq == old_child then
             if new_child != null then
@@ -9219,7 +9219,7 @@ redef class AMinusAssignOp
        n_minuseq.parent = self
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_minuseq == old_child then
             if new_child != null then
@@ -9268,7 +9268,7 @@ redef class AClosureDef
             n_kwwith: nullable TKwwith ,
             n_id: Collection[Object] , # Should be Collection[TId]
             n_kwdo: nullable TKwdo ,
-            n_expr: nullable PExpr 
+            n_expr: nullable AExpr 
     )
     do
         empty_init
@@ -9287,7 +9287,7 @@ redef class AClosureDef
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_kwwith == old_child then
             if new_child != null then
@@ -9324,7 +9324,7 @@ redef class AClosureDef
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
-               assert new_child isa PExpr
+               assert new_child isa AExpr
                 _n_expr = new_child
            else
                _n_expr = null
@@ -9389,7 +9389,7 @@ redef class AQualified
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_id.length[ do
             if _n_id[i] == old_child then
@@ -9455,7 +9455,7 @@ redef class ADoc
        end
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         for i in [0.._n_comment.length[ do
             if _n_comment[i] == old_child then
@@ -9492,20 +9492,20 @@ end
 
 redef class Start
     init(
-        n_base: nullable PModule,
+        n_base: nullable AModule,
         n_eof: EOF)
     do
         _n_base = n_base
         _n_eof = n_eof
     end
 
-    redef fun replace_child(old_child: PNode, new_child: nullable PNode)
+    redef fun replace_child(old_child: ANode, new_child: nullable ANode)
     do
         if _n_base == old_child then
             if new_child == null then
             else
                 new_child.parent = self
-               assert new_child isa PModule
+               assert new_child isa AModule
                 _n_base = new_child
             end
             old_child.parent = null
index d8222fb..9a67189 100644 (file)
@@ -22,7 +22,7 @@ import parser
 class PrintTreeVisitor
 special Visitor
        var _rank: Int
-       fun visit(n: PNode)
+       fun visit(n: ANode)
        do
                printn("  " * _rank, n.to_s, "\n")
                _rank = _rank + 1
index 1509473..7b3baf4 100644 (file)
@@ -45,7 +45,7 @@ abstract class VariableContext
                _set_variables.add(v)
        end
 
-       fun check_is_set(n: PNode, v: Variable)
+       fun check_is_set(n: ANode, v: Variable)
        do
                if v.must_be_set and not is_set(v) then
                        _visitor.error(n, "Error: variable '{v}' is possibly unset.")
@@ -91,13 +91,13 @@ abstract class VariableContext
        var _stypes: Map[Variable, nullable MMType] = new HashMap[Variable, nullable MMType]
 
        # Build a new VariableContext
-       fun sub(node: PNode): SubVariableContext
+       fun sub(node: ANode): SubVariableContext
        do
                return new SubVariableContext.with_prev(self, node)
        end
 
        # Build a nested VariableContext with new variable information
-       fun sub_with(node: PNode, v: Variable, t: MMType): SubVariableContext
+       fun sub_with(node: ANode, v: Variable, t: MMType): SubVariableContext
        do
                var ctx = sub(node)
                ctx.stype(v) = t
@@ -108,9 +108,9 @@ abstract class VariableContext
        var _visitor: AbsSyntaxVisitor
 
        # The syntax node that introduced the context
-       readable var _node: PNode
+       readable var _node: ANode
 
-       init(visitor: AbsSyntaxVisitor, node: PNode)
+       init(visitor: AbsSyntaxVisitor, node: ANode)
        do
                _visitor = visitor
                _node = node
@@ -196,7 +196,7 @@ end
 
 class RootVariableContext
 special VariableContext
-       init(visitor: AbsSyntaxVisitor, node: PNode)
+       init(visitor: AbsSyntaxVisitor, node: ANode)
        do
                super(visitor, node)
                _all_variables = new HashSet[Variable]
@@ -225,7 +225,7 @@ special VariableContext
                end
        end
 
-       init with_prev(p: VariableContext, node: PNode)
+       init with_prev(p: VariableContext, node: ANode)
        do
                init(p._visitor, node)
                _prev = p
index be65285..8ae7c09 100644 (file)
@@ -58,7 +58,7 @@ end
 # For and while use this class. closures uses the EscapableClosure subclass.
 class EscapableBlock
        # The syntax node of the block
-       readable var _node: PNode
+       readable var _node: ANode
 
        # Is self a break closure ?
        fun is_break_block: Bool do return false
@@ -66,12 +66,12 @@ class EscapableBlock
        # Collected expressions used in breaks.
        # null if break does not accept values.
        # break_list is used to store expressions used in break statments and perform type checks latter
-       fun break_list: nullable Array[PExpr] do return null
+       fun break_list: nullable Array[AExpr] do return null
 
        # The static type required by the continue statement (if any)
        fun continue_stype: nullable MMType do return null
 
-       init(node: PNode)
+       init(node: ANode)
        do
                _node = node
        end
@@ -85,11 +85,11 @@ special EscapableBlock
 
        redef fun is_break_block do return _closure.is_break
 
-       redef readable var _break_list: nullable Array[PExpr]
+       redef readable var _break_list: nullable Array[AExpr]
 
        redef fun continue_stype do return _closure.signature.return_type
 
-       init(node: PNode, closure: MMClosure, break_list: nullable Array[PExpr])
+       init(node: ANode, closure: MMClosure, break_list: nullable Array[AExpr])
        do
                super(node)
                _closure = closure
@@ -100,7 +100,7 @@ end
 ###############################################################################
 
 class AEscapeExpr
-special PNode
+special ANode
        # The associated escapable block
        readable var _escapable: nullable EscapableBlock
 
index 4b6db99..43662f9 100644 (file)
@@ -130,11 +130,11 @@ special ICodeBuilder
                end
        end
 
-       # The current  PExpr
-       var _current_node: nullable PExpr = null
+       # The current  AExpr
+       var _current_node: nullable AExpr = null
 
        # Generate icode in the current sequence from a statement
-       fun generate_stmt(n: nullable PExpr)
+       fun generate_stmt(n: nullable AExpr)
        do
                if n == null then return
                var old = _current_node
@@ -144,7 +144,7 @@ special ICodeBuilder
        end
 
        # Generate icode in the current sequence from an expression
-       fun generate_expr(n: PExpr): IRegister
+       fun generate_expr(n: AExpr): IRegister
        do
                var old = _current_node
                _current_node = n
@@ -285,7 +285,7 @@ end
 
 ###############################################################################
 
-redef class PNode
+redef class ANode
        fun accept_icode_generation(v: A2IVisitor) do accept_abs_syntax_visitor(v) end
 end
 
@@ -313,12 +313,8 @@ redef class AMethPropdef
        fun fill_iroutine(v: A2IContext, method: MMSrcMethod) is abstract
 end
 
-redef class PSignature
-       fun fill_iroutine_parameters(v: A2IContext, orig_sig: MMSignature, params: IndexedCollection[IRegister], closdecls: nullable IndexedCollection[IClosureDecl]) is abstract
-end
-
 redef class ASignature
-       redef fun fill_iroutine_parameters(v: A2IContext, orig_sig: MMSignature, params: IndexedCollection[IRegister], closdecls: nullable IndexedCollection[IClosureDecl])
+       fun fill_iroutine_parameters(v: A2IContext, orig_sig: MMSignature, params: IndexedCollection[IRegister], closdecls: nullable IndexedCollection[IClosureDecl])
        do
                for ap in n_params do
                        var reg = v.variable(ap.variable)
@@ -603,7 +599,7 @@ end
 
 ###############################################################################
 
-redef class PExpr
+redef class AExpr
        redef fun accept_icode_generation(v) do end
 
        # Generate icode sequence in the current A2IContext
@@ -1301,14 +1297,10 @@ redef class AOnceExpr
 end
 
 
-redef class PClosureDef
+redef class AClosureDef
        var _iclosure_def: nullable IClosureDef
 
-       fun generate_iclosuredef(v: A2IContext): IClosureDef is abstract
-end
-
-redef class AClosureDef
-       redef fun generate_iclosuredef(v)
+       fun generate_iclosuredef(v: A2IContext): IClosureDef
        do
                # Prepare signature
                var args = new Array[IRegister]
@@ -1362,7 +1354,7 @@ redef class AClosureCallExpr
                        var iseq = new ISeq
                        icall.break_seq = iseq
                        v.seq = iseq
-                       v.generate_stmt(n_closure_defs.first.as(AClosureDef).n_expr)
+                       v.generate_stmt(n_closure_defs.first.n_expr)
                        v.seq = seq_old
                end
 
index 38dcb8e..f9fb9d2 100644 (file)
@@ -403,10 +403,10 @@ end
 # Information about a signature currently build
 private class SignatureBuilder
        # Current visited parameter types
-       readable writable var _params: Array[PParam] = new Array[PParam]
+       readable writable var _params: Array[AParam] = new Array[AParam]
        
        # Visited parameters without type information added
-       readable writable var _untyped_params: Array[PParam] = new Array[PParam]
+       readable writable var _untyped_params: Array[AParam] = new Array[AParam]
 
        # Position of the current star parameter
        readable writable var _vararg_rank: Int = -1
@@ -423,7 +423,7 @@ end
 
 ###############################################################################
 
-redef class PNode
+redef class ANode
        private fun accept_class_builder(v: ClassBuilderVisitor) do accept_abs_syntax_visitor(v)
        private fun accept_class_specialization_builder(v: ClassSpecializationBuilderVisitor) do accept_abs_syntax_visitor(v)
        private fun accept_class_ancestor_builder(v: ClassAncestorBuilder) do accept_abs_syntax_visitor(v)
@@ -439,7 +439,7 @@ redef class AModule
                # Import super-modules
                var module_names_to_import = new Array[Symbol]
                var module_visibility = new HashMap[Symbol, Int]
-               var no_import: nullable PImport = null
+               var no_import: nullable AImport = null
                for i in n_imports do
                        var n = i.module_name
                        if n != null then
@@ -478,7 +478,7 @@ redef class APackagedecl
        end
 end
 
-redef class PImport
+redef class AImport
        # Imported module name (or null)
        fun module_name: nullable Symbol is abstract
 
@@ -502,7 +502,7 @@ redef class ANoImport
        end
 end
 
-redef class PVisibility
+redef class AVisibility
        # Visibility level
        fun level: Int is abstract
 end
@@ -520,7 +520,7 @@ redef class AIntrudeVisibility
 end
 
 
-redef class PClassdef
+redef class AClassdef
        redef fun local_class: MMSrcLocalClass do return _local_class.as(not null)
        var _local_class: nullable MMSrcLocalClass
 
@@ -578,7 +578,7 @@ redef class PClassdef
        end
 end
 
-redef class PClasskind
+redef class AClasskind
        fun is_interface: Bool do return false
        fun is_universal: Bool do return false
        fun is_abstract: Bool do return false
@@ -751,7 +751,7 @@ redef class ASuperclass
        end
 end
 
-redef class PPropdef
+redef class APropdef
        # Process and check properties of the property.
        # * Distinguish inits and methods
        # * Inherit or check visibility.
@@ -1014,7 +1014,7 @@ redef class AMethPropdef
                        # FIXME: Add the 'unary' keyword
                        if n_methid.name == (once "-".to_symbol) then
                                var ns = n_signature
-                               if ns isa ASignature and ns.n_params.length == 0 then
+                               if ns != null and ns.n_params.length == 0 then
                                        name = once "unary -".to_symbol
                                end
                        end
@@ -1106,7 +1106,7 @@ special Visitor
        end
 end
 
-redef class PMethid
+redef class AMethid
        # Method name
        readable var _name: nullable Symbol 
 
@@ -1119,11 +1119,6 @@ redef class PMethid
        end
 end
 
-redef class PSignature
-       # Check that visibilities of types in the signature are compatible with the visibility of the property.
-       fun check_visibility(v: AbsSyntaxVisitor, p: MMLocalProperty) is abstract
-end
-
 redef class ASignature
        redef fun accept_property_verifier(v)
        do
@@ -1158,7 +1153,8 @@ redef class ASignature
                end
        end
 
-       redef fun check_visibility(v, p)
+       # Check that visibilities of types in the signature are compatible with the visibility of the property.
+       fun check_visibility(v: AbsSyntaxVisitor, p: MMLocalProperty)
        do
                if p.global.visibility_level >= 3 then return
                for n in n_params do
@@ -1168,7 +1164,7 @@ redef class ASignature
        end
 end
 
-redef class PParam
+redef class AParam
        redef readable var _position: Int = 0
 
        redef fun variable: ParamVariable do return _variable.as(not null)
@@ -1206,11 +1202,7 @@ redef class PParam
                end
        end
 
-       fun is_vararg: Bool is abstract
-end
-
-redef class AParam
-       redef fun is_vararg do return n_dotdotdot != null
+       fun is_vararg: Bool do return n_dotdotdot != null
 end
 
 redef class AClosureDecl
@@ -1248,13 +1240,9 @@ redef class AClosureDecl
        end
 end
 
-redef class PType
-       # Check that visibilities of types in the signature are compatible with the visibility of the property.
-       private fun check_visibility(v: AbsSyntaxVisitor, p: MMLocalProperty) is abstract
-end
-
 redef class AType
-       redef fun check_visibility(v, p)
+       # Check that visibilities of types in the signature are compatible with the visibility of the property.
+       private fun check_visibility(v: AbsSyntaxVisitor, p: MMLocalProperty)
        do
                if p.global.visibility_level >= 3 then return
                var t = get_stype(v)
@@ -1269,7 +1257,7 @@ redef class AType
        end
 end
 
-redef class PExpr
+redef class AExpr
        redef fun accept_class_builder(v) do end
        redef fun accept_property_builder(v) do end
        redef fun accept_property_verifier(v) do end
index 8a8f18e..4ec5516 100644 (file)
@@ -37,11 +37,11 @@ special ModuleLoader
                var node_tree = parser.parse
                if node_tree.n_base == null then
                        var err = node_tree.n_eof
-                       assert err isa PError
+                       assert err isa AError
                        context.fatal_error(err.location, err.message)
                end
                var node_module = node_tree.n_base
-               assert node_module isa AModule
+               assert node_module != null
                var module_loc = new Location.with_file(filename)
                var module = new MMSrcModule(context, node_module, dir, name, module_loc)
                return module
index 172092a..f693dd4 100644 (file)
@@ -26,7 +26,7 @@ special MMModule
        # A source module can locate AST nodes of related MM entities
        # Once a source module AST is no more needed, _nodes is set to null
        # See ToolContext::keep_ast property in syntax.nit for details
-       var _nodes: nullable HashMap[Object, nullable PNode] = new HashMap[Object, nullable PNode]
+       var _nodes: nullable HashMap[Object, nullable ANode] = new HashMap[Object, nullable ANode]
 
        # Release the AST
        fun clear_ast do _nodes = null
@@ -44,11 +44,11 @@ special MMModule
                _src_local_classes = new HashMap[Symbol, MMSrcLocalClass]
        end
 
-       redef fun nodes(o: Object): nullable PNode
+       redef fun nodes(o: Object): nullable ANode
        do
                if _nodes != null and _nodes.has_key(o) then return _nodes[o] else return null
        end
-       redef fun nodes=(o: Object, n: nullable PNode)
+       redef fun nodes=(o: Object, n: nullable ANode)
        do
                assert not _nodes.has_key(o)
                _nodes[o] = n
@@ -57,14 +57,14 @@ end
 
 redef class MMModule
        # The AST node of some entity
-       private fun nodes(o: Object): nullable PNode do return null
+       private fun nodes(o: Object): nullable ANode do return null
        # The AST node of some entity
-       private fun nodes=(o: Object, n: nullable PNode) do abort
+       private fun nodes=(o: Object, n: nullable ANode) do abort
 end
 
 redef class MMGlobalClass
        # Check that a module can access a class
-       fun check_visibility(v: AbsSyntaxVisitor, n: PNode, cm: MMSrcModule): Bool do
+       fun check_visibility(v: AbsSyntaxVisitor, n: ANode, cm: MMSrcModule): Bool do
                var pm = intro.module
                assert pm isa MMSrcModule
                var vpm = cm.visibility_for(pm)
@@ -85,7 +85,7 @@ end
 class MMSrcLocalClass
 special MMConcreteClass
        # The first related AST node (if any)
-       fun node: nullable PClassdef do return module.nodes(self).as(nullable PClassdef)
+       fun node: nullable AClassdef do return module.nodes(self).as(nullable AClassdef)
 
        # Concrete NIT source generic formal parameter by name
        readable var _formal_dict: Map[Symbol, MMTypeFormalParameter] = new HashMap[Symbol, MMTypeFormalParameter]
@@ -93,7 +93,7 @@ special MMConcreteClass
        # Concrete NIT source properties by name
        readable var _src_local_properties: Map[Symbol, MMLocalProperty]
 
-       init(mod: MMSrcModule, n: Symbol, cla: nullable PClassdef, a: Int)
+       init(mod: MMSrcModule, n: Symbol, cla: nullable AClassdef, a: Int)
        do
                super(mod, n, a)
                mod.nodes(self) = cla
@@ -103,7 +103,7 @@ end
 
 redef class MMGlobalProperty
        # Check that a module can access a property
-       fun check_visibility(v: AbsSyntaxVisitor, n: PNode, cm: MMSrcModule, allows_protected: Bool): Bool do
+       fun check_visibility(v: AbsSyntaxVisitor, n: ANode, cm: MMSrcModule, allows_protected: Bool): Bool do
                var pm = local_class.module
                assert pm isa MMSrcModule
                var vpm = cm.visibility_for(pm)
@@ -126,7 +126,7 @@ end
 
 redef class MMLocalProperty
        # The attached node (if any)
-       fun node: nullable PNode do return null
+       fun node: nullable ANode do return null
 
        # Is the concrete method defined as init
        fun is_init: Bool do return false
@@ -227,7 +227,7 @@ abstract class Variable
        readable var _name: Symbol
 
        # Declaration AST node
-       readable var _decl: nullable PNode
+       readable var _decl: nullable ANode
 
        # Static type
        readable writable var _stype: nullable MMType
@@ -236,7 +236,7 @@ abstract class Variable
 
        fun kind: String is abstract
 
-       init(n: Symbol, d: nullable PNode)
+       init(n: Symbol, d: nullable ANode)
        do
                _name = n
                _decl = d
@@ -247,21 +247,21 @@ end
 class VarVariable
 special Variable
        redef fun kind do return once "variable"
-       init(n: Symbol, d: PNode) do super
+       init(n: Symbol, d: ANode) do super
 end
 
 # Parameter of method (declared in signature)
 class ParamVariable
 special Variable
        redef fun kind do return once "parameter"
-       init(n: Symbol, d: nullable PNode) do super
+       init(n: Symbol, d: nullable ANode) do super
 end
 
 # Automatic variable (like in the 'for' statement)
 class AutoVariable
 special Variable
        redef fun kind do return once "automatic variable"
-       init(n: Symbol, d: PNode) do super
+       init(n: Symbol, d: ANode) do super
 end
 
 # False variable corresponding to closures declared in signatures
@@ -273,7 +273,7 @@ special Variable
        # The signature of the closure
        readable var _closure: MMClosure
 
-       init(n: Symbol, d: PNode, c: MMClosure)
+       init(n: Symbol, d: ANode, c: MMClosure)
        do
                super(n, d)
                _closure = c
@@ -381,25 +381,25 @@ special Visitor
        readable var _tc: ToolContext 
 
        # Display an error for a given syntax node
-       fun error(n: nullable PNode, s: String)
+       fun error(n: nullable ANode, s: String)
        do
                _tc.error(if n == null then null else n.location, s)
        end
 
        # Add an error, show errors and quit
-       fun fatal_error(n: nullable PNode, s: String)
+       fun fatal_error(n: nullable ANode, s: String)
        do
                _tc.fatal_error(if n == null then null else n.location, s)
        end
 
        # Display a warning for a given syntax node
-       fun warning(n: nullable PNode, s: String)
+       fun warning(n: nullable ANode, s: String)
        do
                _tc.warning(if n == null then null else n.location, s)
        end
 
        # Check conformity and display error
-       fun check_conform(n: PNode, subtype: nullable MMType, stype: nullable MMType): Bool
+       fun check_conform(n: ANode, subtype: nullable MMType, stype: nullable MMType): Bool
        do
                if stype == null or subtype == null then
                        return false
@@ -414,7 +414,7 @@ special Visitor
        # Check that an expression has a static type and that 
        # Display an error and return false if n is a statement
        # Require that the static type of n is known
-       fun check_expr(n: PExpr): Bool
+       fun check_expr(n: AExpr): Bool
        do
                if not n.is_typed then
                        if tc.error_count == 0 then
@@ -437,7 +437,7 @@ special Visitor
        end
 
        # Combine check_conform and check_expr
-       fun check_conform_expr(n: PExpr, stype: nullable MMType): Bool
+       fun check_conform_expr(n: AExpr, stype: nullable MMType): Bool
        do
                if stype == null then return false
                if check_expr(n) then return check_conform(n, n.stype, stype) else return false
@@ -453,9 +453,9 @@ special Visitor
        #   Int, Int, Object => return Object
        #   Int, Float => display error, return null
        #   nullable Int, Object => return nullable Object
-       fun check_conform_multiexpr(stype: nullable MMType, nodes: Collection[PExpr]): nullable MMType
+       fun check_conform_multiexpr(stype: nullable MMType, nodes: Collection[AExpr]): nullable MMType
        do
-               var node: nullable PExpr = null # candidate node
+               var node: nullable AExpr = null # candidate node
                for n in nodes do
                        if not check_expr(n) then return null
                        var ntype = n.stype
@@ -496,7 +496,7 @@ end
 
 ###############################################################################
 
-redef class PNode
+redef class ANode
        protected fun accept_abs_syntax_visitor(v: AbsSyntaxVisitor) do visit_all(v)
 end
 
@@ -516,15 +516,15 @@ redef class Token
        end
 end
 
-redef class PClassdef
+redef class AClassdef
        # Associated class (MM entity)
        fun local_class: MMSrcLocalClass is abstract
 
-       # Next PClassdef of the same class (if any)
-       readable writable var _next_node: nullable PClassdef = null
+       # Next AClassdef of the same class (if any)
+       readable writable var _next_node: nullable AClassdef = null
 end
 
-redef class PPropdef
+redef class APropdef
        # Associated 'self' variable
        fun self_var: ParamVariable is abstract
 end
@@ -555,7 +555,7 @@ redef class ATypePropdef
        fun prop: MMSrcTypeProperty is abstract
 end
 
-redef class PParam
+redef class AParam
        # Position in the signature
        fun position: Int is abstract
 
@@ -563,7 +563,7 @@ redef class PParam
        fun variable: ParamVariable is abstract 
 end
 
-redef class PClosureDecl
+redef class AClosureDecl
        # Position in the signature
        fun position: Int is abstract
 
@@ -571,27 +571,7 @@ redef class PClosureDecl
        fun variable: ClosureVariable is abstract
 end
 
-redef class PType
-       # Retrieve the local class corresponding to the type.
-       # Display an error and return null if there is no class
-       # Display an error and return null if the type is not class based (formal one)
-       fun get_local_class(v: AbsSyntaxVisitor): nullable MMLocalClass is abstract
-
-       # Retrieve corresponding static type.
-       # Display an error and return null if there is a problem
-       fun get_stype(v: AbsSyntaxVisitor): nullable MMType is abstract
-
-       # Retrieve corresponding static type.
-       # Display an error and return null if there is a problem
-       # But do not performs any subtype check.
-       # get_unchecked_stype should be called to check that the static type is fully valid
-       fun get_unchecked_stype(v: AbsSyntaxVisitor): nullable MMType is abstract
-
-       # Check that a static definition type is conform with regard to formal types
-       # Useful with get_unchecked_stype
-       # Remember that conformance check need that ancestors are totaly computed
-       fun check_conform(v: AbsSyntaxVisitor) is abstract
-
+redef class AType
        # Is the node correcly typed
        # Return false if typed was not yet computed or
        # if an error occured during the typing computation
@@ -599,13 +579,14 @@ redef class PType
 
        # Return corresponding static type. (require is_typed)
        fun stype: MMType is abstract
-end
 
-redef class AType
        var _stype_cache: nullable MMType = null
        var _stype_cached: Bool = false
 
-       redef fun get_local_class(v)
+       # Retrieve the local class corresponding to the type.
+       # Display an error and return null if there is no class
+       # Display an error and return null if the type is not class based (formal one)
+       fun get_local_class(v: AbsSyntaxVisitor): nullable MMLocalClass
        do
                var name = n_id.to_symbol
                var mod = v.module
@@ -628,7 +609,11 @@ redef class AType
                return local_class
        end
 
-       redef fun get_unchecked_stype(v)
+       # Retrieve corresponding static type.
+       # Display an error and return null if there is a problem
+       # But do not performs any subtype check.
+       # get_unchecked_stype should be called to check that the static type is fully valid
+       fun get_unchecked_stype(v: AbsSyntaxVisitor): nullable MMType
        do
                if _stype_cached then return _stype_cache
                _stype_cached = true
@@ -694,8 +679,10 @@ redef class AType
                _stype_cache = t
                return t
        end
-       
-       redef fun get_stype(v)
+
+       # Retrieve corresponding static type.
+       # Display an error and return null if there is a problem
+       fun get_stype(v: AbsSyntaxVisitor): nullable MMType
        do
                var t = get_unchecked_stype(v)
                if t == null then return null
@@ -704,7 +691,10 @@ redef class AType
                return t
        end
 
-       redef fun check_conform(v)
+       # Check that a static definition type is conform with regard to formal types
+       # Useful with get_unchecked_stype
+       # Remember that conformance check need that ancestors are totaly computed
+       fun check_conform(v: AbsSyntaxVisitor)
        do
                var st = get_unchecked_stype(v)
                if st == null then return 
@@ -724,7 +714,7 @@ redef class AType
        end
 end
 
-redef class PExpr
+redef class AExpr
        # Is the expression node correcly typed
        # Return false if typed was not yet computed or
        # if an error occured during the typing computation
@@ -740,12 +730,12 @@ redef class PExpr
 end
 
 class AAbsAbsSendExpr
-special PExpr
+special AExpr
        # The signature of the called property (require is_typed)
        fun prop_signature: MMSignature is abstract
 
        # The real arguments used (after star transformation) (require is_typed)
-       fun arguments: Array[PExpr] is abstract
+       fun arguments: Array[AExpr] is abstract
 end
 
 class AAbsSendExpr
@@ -773,7 +763,7 @@ end
 redef class ASendExpr
 special ASuperInitCall
        # Closure definitions
-       fun closure_defs: nullable Array[PClosureDef] is abstract
+       fun closure_defs: nullable Array[AClosureDef] is abstract
 end
 
 redef class AReassignFormExpr
@@ -836,7 +826,7 @@ special AAbsAbsSendExpr
        fun variable: ClosureVariable is abstract
 end
 
-redef class PClosureDef
+redef class AClosureDef
        # Associated closure
        fun closure: MMClosure is abstract
 
index e89d9e2..cdb4378 100644 (file)
@@ -59,7 +59,7 @@ special AbsSyntaxVisitor
        writable var _self_var: nullable ParamVariable
 
        # Block of the current method
-       readable writable var _top_block: nullable PExpr
+       readable writable var _top_block: nullable AExpr
 
        # List of explicit invocation of constructors of super-classes
        readable writable var _explicit_super_init_calls: nullable Array[MMMethod]
@@ -68,14 +68,14 @@ special AbsSyntaxVisitor
        readable writable var _explicit_other_init_call: Bool = false
 
        # Make the if_true_variable_ctx of the expression effective
-       private fun use_if_true_variable_ctx(e: PExpr)
+       private fun use_if_true_variable_ctx(e: AExpr)
        do
                var ctx = e.if_true_variable_ctx
                if ctx != null then variable_ctx = ctx
        end
 
        # Make the if_false_variable_ctx of the expression effective
-       private fun use_if_false_variable_ctx(e: PExpr)
+       private fun use_if_false_variable_ctx(e: AExpr)
        do
                var ctx = e.if_false_variable_ctx
                if ctx != null then variable_ctx = ctx
@@ -86,7 +86,7 @@ special AbsSyntaxVisitor
 
        init(tc, module) do super
 
-       private fun get_default_constructor_for(n: PNode, c: MMLocalClass, prop: MMSrcMethod): nullable MMMethod
+       private fun get_default_constructor_for(n: ANode, c: MMLocalClass, prop: MMSrcMethod): nullable MMMethod
        do
                var v = self
                #var prop = v.local_property
@@ -139,7 +139,7 @@ end
 
 ###############################################################################
 
-redef class PNode
+redef class ANode
        private fun accept_typing(v: TypingVisitor) 
        do
                accept_abs_syntax_visitor(v)
@@ -148,7 +148,7 @@ redef class PNode
        private fun after_typing(v: TypingVisitor) do end
 end
 
-redef class PClassdef
+redef class AClassdef
        redef fun accept_typing(v)
        do
                v.variable_ctx = new RootVariableContext(v, self)
@@ -159,7 +159,7 @@ redef class PClassdef
        end
 end
 
-redef class PPropdef
+redef class APropdef
        redef fun self_var do return _self_var.as(not null)
        var _self_var: nullable ParamVariable
 end
@@ -250,7 +250,7 @@ redef class AConcreteInitPropdef
        end
 end
 
-redef class PParam
+redef class AParam
        redef fun after_typing(v)
        do
                v.variable_ctx.add(variable)
@@ -294,7 +294,7 @@ redef class AClosureDecl
        end
 end
 
-redef class PType
+redef class AType
        redef fun stype: MMType do return _stype.as(not null)
        redef fun is_typed: Bool do return _stype != null
        var _stype: nullable MMType
@@ -305,7 +305,7 @@ redef class PType
        end
 end
 
-redef class PExpr
+redef class AExpr
        redef readable var _is_typed: Bool = false
        redef fun is_statement: Bool do return _stype == null
        redef fun stype
@@ -663,7 +663,7 @@ redef class AVarReassignExpr
        end
 end
 
-redef class PAssignOp
+redef class AAssignOp
        fun method_name: Symbol is abstract
 end
 redef class APlusAssignOp
@@ -1030,10 +1030,10 @@ redef class AAbsAbsSendExpr
 
        # The real arguments used (after star transformation) (once computed)
        redef fun arguments do return _arguments.as(not null)
-       var _arguments: nullable Array[PExpr]
+       var _arguments: nullable Array[AExpr]
 
        # Check the conformity of a set of arguments `raw_args' to a signature.
-       private fun process_signature(v: TypingVisitor, psig: MMSignature, name: Symbol, raw_args: nullable Array[PExpr]): nullable Array[PExpr]
+       private fun process_signature(v: TypingVisitor, psig: MMSignature, name: Symbol, raw_args: nullable Array[AExpr]): nullable Array[AExpr]
        do
                var par_vararg = psig.vararg_rank
                var par_arity = psig.arity
@@ -1044,12 +1044,12 @@ redef class AAbsAbsSendExpr
                        return null
                end
                var arg_idx = 0
-               var args = new Array[PExpr]
+               var args = new Array[AExpr]
                for par_idx in [0..par_arity[ do
-                       var a: PExpr
+                       var a: AExpr
                        var par_type = psig[par_idx]
                        if par_idx == par_vararg then
-                               var star = new Array[PExpr]
+                               var star = new Array[AExpr]
                                for i in [0..(raw_arity-par_arity)] do
                                        a = raw_args[arg_idx]
                                        v.check_conform_expr(a, par_type)
@@ -1070,7 +1070,7 @@ redef class AAbsAbsSendExpr
        end
 
        # Check the conformity of a set of defined closures
-       private fun process_closures(v: TypingVisitor, psig: MMSignature, name: Symbol, cd: nullable Array[PClosureDef]): nullable MMType
+       private fun process_closures(v: TypingVisitor, psig: MMSignature, name: Symbol, cd: nullable Array[AClosureDef]): nullable MMType
        do
                var t = psig.return_type
                var cs = psig.closures # Declared closures
@@ -1114,7 +1114,7 @@ end
 
 redef class AAbsSendExpr
        # Compute the called global property
-       private fun do_typing(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, recv_is_self: Bool, name: Symbol, raw_args: nullable Array[PExpr], closure_defs: nullable Array[PClosureDef])
+       private fun do_typing(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, recv_is_self: Bool, name: Symbol, raw_args: nullable Array[AExpr], closure_defs: nullable Array[AClosureDef])
        do
                var prop = get_property(v, type_recv, is_implicit_self, name)
                if prop == null then return
@@ -1247,10 +1247,10 @@ redef class ASendExpr
        fun name: Symbol is abstract 
 
        # Raw arguments used (withour star transformation)
-       fun raw_arguments: nullable Array[PExpr] is abstract
+       fun raw_arguments: nullable Array[AExpr] is abstract
 
        # Closure definitions
-       redef fun closure_defs: nullable Array[PClosureDef] do return null
+       redef fun closure_defs: nullable Array[AClosureDef] do return null
 
        redef fun after_typing(v)
        do
@@ -1342,7 +1342,7 @@ redef class AEqExpr
                end
        end
 
-       private fun try_to_isa(v: TypingVisitor, n: PExpr)
+       private fun try_to_isa(v: TypingVisitor, n: AExpr)
        do
                var variable = n.its_variable
                if variable != null then
@@ -1368,7 +1368,7 @@ redef class ANeExpr
                end
        end
 
-       private fun try_to_isa(v: TypingVisitor, n: PExpr)
+       private fun try_to_isa(v: TypingVisitor, n: AExpr)
        do
                var variable = n.its_variable
                if variable != null then
@@ -1419,7 +1419,7 @@ redef class ACallFormExpr
                        var name = n_id.to_symbol
                        var variable = v.variable_ctx[name]
                        if variable != null then
-                               var n: PExpr
+                               var n: AExpr
                                if variable isa ClosureVariable then
                                        n = new AClosureCallExpr.init_aclosurecallexpr(n_id, n_args, n_closure_defs)
                                        n._variable = variable
@@ -1532,7 +1532,7 @@ redef class AClosureCallExpr
        end
 end
 
-redef class PClosureDef
+redef class AClosureDef
        var _closure: nullable MMClosure
        redef fun closure do return _closure.as(not null)
 
@@ -1546,11 +1546,7 @@ redef class PClosureDef
                if _accept_typing2 then super
        end
 
-       private fun accept_typing2(v: TypingVisitor, esc: EscapableClosure) is abstract
-end
-
-redef class AClosureDef
-       redef fun accept_typing2(v, esc)
+       private fun accept_typing2(v: TypingVisitor, esc: EscapableClosure)
        do
                _escapable = esc
 
@@ -1590,8 +1586,8 @@ redef class AClosureDef
 end
 
 class ATypeCheckExpr
-special PExpr
-       private fun check_expr_cast(v: TypingVisitor, n_expr: PExpr, n_type: PType)
+special AExpr
+       private fun check_expr_cast(v: TypingVisitor, n_expr: AExpr, n_type: AType)
        do
                if not v.check_expr(n_expr) then return
                if not n_type.is_typed then return