(TranslationUnit
    [(Module
        a
        ()
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(r8
            []
            []
            ()
            (FuncCallOrArray
                kind
                []
                [(()
                (Real "0.d0")
                ()
                0)]
                []
                []
                []
            )
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (DerivedType
            B
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
        )
        (DerivedType
            C
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
        )
        (DerivedType
            X
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(AttrExtends
                B
            )
            (SimpleAttribute
                AttrPublic
            )]
            [(Declaration
                ()
                [(SimpleAttribute
                    AttrPrivate
                )]
                []
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    [(()
                    r8
                    Value)]
                    ()
                    ()
                    None
                )
                []
                [(r1
                []
                []
                ()
                ()
                None
                ())]
                (TriviaNode
                    []
                    [(EndOfLine)
                    (EndOfLine)]
                )
            )
            (Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    C
                    None
                )
                [(SimpleAttribute
                    AttrPointer
                )]
                [(cc
                []
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    [(()
                    r8
                    Value)]
                    ()
                    ()
                    None
                )
                [(SimpleAttribute
                    AttrPointer
                )]
                [(r2
                [(()
                ()
                DimensionExpr)]
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())
                (r3
                [(()
                ()
                DimensionExpr)]
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())]
                ()
            )]
            [(Private
                ()
            )
            (DerivedTypeProc
                ()
                [(SimpleAttribute
                    AttrPrivate
                )]
                [(UseSymbol
                    p1
                    ()
                )]
                ()
            )
            (DerivedTypeProc
                something
                [(SimpleAttribute
                    AttrPrivate
                )]
                [(UseSymbol
                    p1b
                    ()
                )]
                ()
            )
            (DerivedTypeProc
                ()
                [(AttrPass
                    self
                )]
                [(UseSymbol
                    p2
                    ()
                )]
                ()
            )
            (DerivedTypeProc
                ()
                []
                [(UseSymbol
                    proc_1
                    ()
                )
                (UseSymbol
                    proc_2
                    ()
                )]
                ()
            )
            (GenericOperator
                []
                NOTEQ
                [p5
                p6]
                ()
            )
            (GenericOperator
                []
                PLUS
                [p8]
                ()
            )
            (GenericDefinedOperator
                []
                "in"
                [p7]
                ()
            )
            (GenericDefinedOperator
                []
                "dot"
                [p10]
                ()
            )
            (GenericOperator
                []
                DIV
                [p11]
                ()
            )
            (GenericAssignment
                []
                [p9]
                ()
            )
            (GenericName
                [(SimpleAttribute
                    AttrPublic
                )]
                calcCoeffs
                [calcCoeffsReal
                calcCoeffsKPoint]
                ()
            )
            (GenericName
                [(SimpleAttribute
                    AttrPrivate
                )]
                name
                [sample]
                ()
            )
            (GenericName
                []
                p1
                [p2]
                (TriviaNode
                    []
                    [(Semicolon)
                    (EndOfLine)]
                )
            )
            (GenericWrite
                [(SimpleAttribute
                    AttrPublic
                )]
                formatted
                [t_write]
                ()
            )
            (GenericRead
                []
                unformatted
                [t_read]
                ()
            )
            (FinalName
                y
                ()
            )]
        )
        (DerivedType
            matrix
            [k
            b]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            [(Declaration
                (AttrType
                    TypeInteger
                    []
                    ()
                    ()
                    None
                )
                [(SimpleAttribute
                    AttrKind
                )]
                [(k
                []
                []
                ()
                4
                Equal
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeInteger
                    [(()
                    8
                    Value)]
                    ()
                    ()
                    None
                )
                [(SimpleAttribute
                    AttrLen
                )]
                [(b
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    [(()
                    k
                    Value)]
                    ()
                    ()
                    None
                )
                []
                [(element
                [(1
                b
                DimensionExpr)
                (1
                b
                DimensionExpr)]
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
        )]
        []
        [(Subroutine
            p1
            [(this)]
            []
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeClass
                    []
                    ()
                    X
                    None
                )
                [(AttrIntent
                    Out
                )]
                [(this
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
            []
            []
        )
        (Subroutine
            p2
            [(this)]
            []
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeClass
                    []
                    ()
                    X
                    None
                )
                [(AttrIntent
                    InOut
                )]
                [(this
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
            []
            []
        )]
    )]
)
