(TranslationUnit
    [(Subroutine
        f
        [(a)]
        []
        ()
        ()
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(a
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(Print
            0
            ()
            [a]
            ()
        )]
        []
        []
    )
    (Program
        main
        ()
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrDimension
                [(1
                3
                DimensionExpr)
                (1
                3
                DimensionExpr)]
            )]
            [(z
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(a
            []
            []
            ()
            ()
            None
            ())
            (b
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            ()
            [(AttrDimension
                []
            )]
            [(a
            [(1
            2
            DimensionExpr)
            (1
            2
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (b
            [(1
            10
            DimensionExpr)
            (1
            10
            DimensionExpr)]
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            ()
            [(AttrDimension
                []
            )]
            [(z
            [(1
            3
            DimensionExpr)
            (1
            3
            DimensionExpr)]
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrDimension
                [(1
                2
                DimensionExpr)
                (1
                2
                DimensionExpr)]
            )]
            [(d
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(SubroutineCall
            0
            f
            []
            [(()
            1
            ()
            0)]
            []
            []
            ()
        )]
        []
    )]
)
