(TranslationUnit
    [(Program
        line_continuation_03
        (TriviaNode
            [(EndOfLine)
            (Comment
                "! The same as line_continuation_02, but we do use & to split a token"
            )]
            []
        )
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Here are the rules for & based on the § 6.3.2.4 (\"Free form statement"
                )
                (Comment
                    "! continuation\") in Fortran 2018 standard."
                )
                (EndOfLine)
                (Comment
                    "! The & character in a comment has no effect"
                )
                (EndOfLine)
                (Comment
                    "! The & character can be used to continue a line like this:"
                )
                (EndOfLine)]
            )
        )]
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(i
            []
            []
            ()
            ()
            None
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! If it is used between tokens, then one can, but does not have to put another &"
                )
                (Comment
                    "! on the next line:"
                )
                (EndOfLine)]
            )
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(k
            []
            []
            ()
            ()
            None
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Assignment
            0
            i
            5
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [i]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! One can continue strings also by treating them as tokens:"
                )
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [(String "some string is continued" ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Unless the & is at the end of the line, it can be used as a regular"
                )
                (Comment
                    "! character in a string:"
                )
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [(String "some string can contain & as a regular character is continued" ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [(String "Even here: && <- there will be two &" ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! One can put arbitrary comments and empty lines after & that will be skipped:"
                )
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [i]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [i]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [i]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! In strings the comment cannot be after the first &, but it can be on"
                )
                (Comment
                    "! subsequent lines:"
                )
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [(String "some string is continued" ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Print
            0
            ()
            [(String "*t" ())
            (String "" ())]
            (TriviaNode
                []
                [(EndOfLine)
                (Comment
                    "!!     call set_args ( \\'  &"
                )
                (Comment
                    "!! & \\n"
                )
                (EndOfLine)]
            )
        )]
        []
    )]
)
