(TranslationUnit
    [(Module
        derived_types_01_m_01
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(DerivedType
            X
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            [(Declaration
                (AttrType
                    TypeReal
                    []
                    ()
                    ()
                    None
                )
                []
                [(r
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeInteger
                    []
                    ()
                    ()
                    None
                )
                []
                [(i
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
        )
        (DerivedType
            Y
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            [(Declaration
                (AttrType
                    TypeComplex
                    []
                    ()
                    ()
                    None
                )
                []
                [(c
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    X
                    None
                )
                []
                [(d
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
        )]
        []
        [(Subroutine
            set
            [(a)]
            []
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    X
                    None
                )
                [(AttrIntent
                    Out
                )]
                [(a
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            [(Assignment
                0
                i [(a
                [])]
                1
                ()
            )
            (Assignment
                0
                r [(a
                [])]
                (Real "1.5")
                ()
            )]
            []
            []
        )]
    )
    (Module
        derived_types_01_m_02
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        [(Use
            []
            derived_types_01_m_01
            [(UseSymbol
                Y
                ()
            )]
            .true.
            ()
        )]
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(DerivedType
            Z
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            [(Declaration
                (AttrType
                    TypeComplex
                    []
                    ()
                    ()
                    None
                )
                []
                [(k
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    Y
                    None
                )
                []
                [(l
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
        )]
        []
        []
    )
    (Program
        derived_types_01
        ()
        [(Use
            []
            derived_types_01_m_02
            [(UseSymbol
                Z
                ()
            )]
            .true.
            ()
        )
        (Use
            []
            derived_types_01_m_01
            [(UseSymbol
                X
                ()
            )
            (UseSymbol
                set
                ()
            )]
            .true.
            ()
        )]
        [(ImplicitNone
            []
            ()
        )]
        [(Declaration
            (AttrType
                TypeType
                []
                ()
                X
                None
            )
            []
            [(b
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeType
                []
                ()
                Z
                None
            )
            []
            [(c
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(Assignment
            0
            i [(b
            [])]
            5
            ()
        )
        (Assignment
            0
            r [(b
            [])]
            (Real "3.5")
            ()
        )
        (Print
            0
            ()
            [i [(b
            [])]
            r [(b
            [])]]
            ()
        )
        (SubroutineCall
            0
            set
            []
            [(()
            b
            ()
            0)]
            []
            []
            ()
        )
        (Print
            0
            ()
            [i [(b
            [])]
            r [(b
            [])]]
            ()
        )
        (Assignment
            0
            r [(c
            []) (l
            []) (d
            [])]
            (Real "2.0")
            ()
        )
        (Assignment
            0
            i [(c
            []) (l
            []) (d
            [])]
            2
            ()
        )
        (Assignment
            0
            k [(c
            [])]
            (Complex (Real "2.0") (Real "2.0"))
            ()
        )
        (Print
            0
            ()
            [r [(c
            []) (l
            []) (d
            [])]
            i [(c
            []) (l
            []) (d
            [])]
            k [(c
            [])]]
            ()
        )
        (SubroutineCall
            0
            set
            []
            [(()
            d [(c
            []) (l
            [])]
            ()
            0)]
            []
            []
            ()
        )
        (Print
            0
            ()
            [r [(c
            []) (l
            []) (d
            [])]
            i [(c
            []) (l
            []) (d
            [])]
            k [(c
            [])]]
            ()
        )]
        []
    )]
)
