(TranslationUnit
    [(Declaration
        (AttrType
            TypeInteger
            []
            ()
            ()
            None
        )
        [(SimpleAttribute
            AttrAllocatable
        )]
        [(a
        [(()
        ()
        DimensionExpr)]
        []
        ()
        ()
        None
        ())]
        ()
    )
    (Declaration
        (AttrType
            TypeInteger
            []
            ()
            ()
            None
        )
        [(SimpleAttribute
            AttrPointer
        )]
        [(p
        []
        []
        ()
        ()
        None
        ())]
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
    )
    (FuncCallOrArray
        allocate
        []
        [(()
        (FuncCallOrArray
            a
            []
            [(()
            10
            ()
            0)]
            []
            []
            []
        )
        ()
        0)]
        []
        []
        []
    )
    (FuncCallOrArray
        deallocate
        []
        [(()
        a
        ()
        0)]
        []
        []
        []
    )
    (FuncCallOrArray
        open
        []
        []
        [(unit
        10)
        (file
        (String "test.txt" ()))
        (status
        (String "old" ()))]
        []
        []
    )
    (FuncCallOrArray
        flush
        []
        [(()
        10
        ()
        0)]
        []
        []
        []
    )
    (FuncCallOrArray
        close
        []
        []
        [(unit
        10)]
        []
        []
    )
    (FuncCallOrArray
        nullify
        []
        [(()
        p
        ()
        0)]
        []
        []
        []
    )
    exit
    cycle
    return
    continue
    (Print
        0
        ()
        [exit]
        ()
    )
    (Print
        0
        ()
        [cycle]
        ()
    )
    (Print
        0
        ()
        [return]
        ()
    )
    (Print
        0
        ()
        [continue]
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
    )
    (SubroutineCall
        0
        exit
        []
        []
        []
        []
        ()
    )
    (SubroutineCall
        0
        cycle
        []
        []
        []
        []
        ()
    )
    (SubroutineCall
        0
        return
        []
        []
        []
        []
        ()
    )
    (SubroutineCall
        0
        continue
        []
        []
        []
        []
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
    )
    contains
    (Subroutine
        sub
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(i
            []
            []
            ()
            ()
            None
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(DoLoop
            0
            ()
            0
            i
            1
            10
            ()
            [(Print
                0
                ()
                [i]
                ()
            )
            (If
                0
                ()
                (== i 5)
                [(Exit
                    0
                    ()
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (== i 7)
                [(Cycle
                    0
                    ()
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (== i 9)
                [(Return
                    0
                    ()
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (== i 2)
                [(Continue
                    0
                    ()
                )]
                []
                ()
                ()
                ()
            )]
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        []
        []
    )
    end program]
)
