(TranslationUnit
    [(Subroutine
        a
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(DoLoop
            0
            ()
            0
            ()
            ()
            ()
            ()
            [(Assignment
                0
                a
                (+ a i)
                ()
            )
            (Assignment
                0
                b
                3
                ()
            )]
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (DoLoop
            0
            ()
            0
            ()
            ()
            ()
            ()
            [(Assignment
                0
                do
                (+ a i)
                ()
            )
            (Assignment
                0
                enddo
                3
                ()
            )]
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (DoLoop
            0
            ()
            0
            ()
            ()
            ()
            ()
            [(Assignment
                0
                a
                (+ a i)
                (TriviaNode
                    []
                    [(Semicolon)]
                )
            )
            (Assignment
                0
                b
                3
                (TriviaNode
                    []
                    [(Semicolon)]
                )
            )]
            (TriviaNode
                []
                [(Semicolon)]
            )
            ()
        )]
        []
        []
    )
    (Subroutine
        a
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(DoLoop
            0
            ()
            0
            ()
            ()
            ()
            ()
            [(Assignment
                0
                x
                1
                ()
            )]
            ()
            ()
        )]
        []
        []
    )
    (Subroutine
        a
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(DoLoop
            0
            ()
            0
            i
            1
            5
            ()
            [(Assignment
                0
                x
                (+ x i)
                ()
            )]
            ()
            ()
        )]
        []
        []
    )
    (Subroutine
        a
        []
        []
        ()
        ()
        []
        []
        []
        []
        [(DoLoop
            0
            ()
            0
            i
            1
            5
            (u- 1)
            [(Assignment
                0
                x
                i
                ()
            )]
            ()
            ()
        )]
        []
        []
    )]
)
