(TranslationUnit
    [(Program
        test23stars
        ()
        []
        []
        [(Declaration
            (AttrType
                TypeCharacter
                []
                ()
                ()
                None
            )
            []
            [(b
            []
            []
            ()
            ()
            None
            ())
            (c
            []
            []
            ()
            ()
            None
            ())
            (d
            []
            []
            ()
            (String "?" ())
            Equal
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(j
            []
            []
            ()
            ()
            None
            ())
            (k
            []
            []
            ()
            ()
            None
            ())
            (n
            [(1
            2
            DimensionExpr)]
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(DataStmt
            0
            [(DataStmtSet
                [j
                k]
                [0
                0]
            )]
            ()
        )
        (SubroutineCall
            0
            input
            []
            [(()
            n
            ()
            0)
            (()
            (String "2*4" ())
            ()
            0)
            (()
            b
            ()
            0)
            (()
            c
            ()
            0)
            (()
            d
            ()
            0)
            (()
            666
            ()
            0)]
            []
            []
            ()
        )
        (Write
            0
            [(())
            ((String "(2i2,1x,a)" ()))]
            []
            [(* (FuncCallOrArray
                n
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            ) j)
            (** (FuncCallOrArray
                n
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            ) k)
            b]
            ()
        )
        (Stop
            0
            ()
            ()
            ()
        )
        (Print
            666
            (String "(a)" ())
            [(String " * error in n" ())]
            ()
        )
        (Print
            0
            (String "(*(i4))" ())
            [n]
            ()
        )]
        [(Subroutine
            input
            [(n)
            (a)
            (b)
            (c)
            (d)
            (r)]
            []
            ()
            ()
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeInteger
                    []
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    Out
                )]
                [(n
                [(()
                ()
                DimensionStar)]
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeCharacter
                    []
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    In
                )]
                [(a
                []
                []
                ()
                ()
                DoubleAsterisk
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeCharacter
                    []
                    ()
                    ()
                    DoubleAsterisk
                )
                [(AttrIntent
                    Out
                )]
                [(b
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    ()
                    Asterisk
                )
                [(AttrIntent
                    In
                )]
                [(c
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeCharacter
                    [(()
                    1
                    Value)]
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    In
                )]
                [(d
                [(()
                ()
                AssumedRank)]
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeInteger
                    []
                    ()
                    ()
                    None
                )
                []
                [(i
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeCharacter
                    []
                    ()
                    ()
                    None
                )
                []
                [(ch
                []
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeClass
                    []
                    ()
                    ()
                    Asterisk
                )
                [(SimpleAttribute
                    AttrAllocatable
                )]
                [(e
                [(()
                ()
                DimensionExpr)]
                []
                ()
                ()
                None
                ())]
                ()
            )]
            [(SelectRank
                0
                ()
                ()
                d
                [(RankStar
                    ()
                    [(Print
                        0
                        (String "(a)" ())
                        [(String "This should not be printed!" ())]
                        ()
                    )]
                )]
                ()
                ()
            )
            (Read
                0
                ()
                [(a)
                (())]
                [(iostat
                i)]
                [(FuncCallOrArray
                    n
                    []
                    [(()
                    1
                    ()
                    0)]
                    []
                    []
                    []
                )
                (FuncCallOrArray
                    n
                    []
                    [(()
                    2
                    ()
                    0)]
                    []
                    []
                    []
                )]
                ()
            )
            (If
                0
                ()
                (/= i 0)
                [(Return
                    0
                    1
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (Print
                0
                (String "(a)" ())
                [(String "Enter anything to continue." ())]
                ()
            )
            (Read
                0
                ()
                [(())
                ((String "(a)" ()))]
                [(iostat
                i)]
                [ch]
                ()
            )
            (Write
                0
                [(b)
                ((String "(i1)" ()))]
                [(iostat
                i)]
                [666]
                ()
            )]
            []
            []
        )]
    )]
)
