(TranslationUnit
    [(Module
        interface3
        ()
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (Comment
                    "!checks the syntax"
                )]
            )
        )]
        [(Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(x
            []
            []
            ()
            ()
            None
            ())
            (y
            []
            []
            ()
            ()
            None
            ())
            (z
            []
            []
            ()
            ()
            None
            ())
            (()
            []
            []
            ()
            ()
            None
            (AttrAssignment))
            (()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                PLUS
            ))
            (()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                AND
            ))
            (()
            []
            []
            ()
            ()
            None
            (AttrDefinedOperator
                "in"
            ))]
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                STAR
            ))]
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                DIV
            ))]
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                DIV
            ))]
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                CONCAT
            ))]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Interface
            (InterfaceHeader)
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [sample]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderName
                A
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [sample]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderAssignment)
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceProc
                (Subroutine
                    LOGICAL_TO_NUMERIC
                    [(N)
                    (B)]
                    []
                    ()
                    ()
                    []
                    []
                    []
                    [(Declaration
                        (AttrType
                            TypeInteger
                            []
                            ()
                            ()
                            None
                        )
                        [(AttrIntent
                            Out
                        )]
                        [(N
                        []
                        []
                        ()
                        ()
                        None
                        ())]
                        ()
                    )
                    (Declaration
                        (AttrType
                            TypeLogical
                            []
                            ()
                            ()
                            None
                        )
                        [(AttrIntent
                            In
                        )]
                        [(B
                        []
                        []
                        ()
                        ()
                        None
                        ())]
                        ()
                    )]
                    []
                    []
                    []
                )
            )]
        )
        (Interface
            (InterfaceHeaderOperator
                PLUS
            )
            ()
            [(InterfaceModuleProcedure
                [union]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderOperator
                MINUS
            )
            ()
            [(InterfaceModuleProcedure
                [difference]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderOperator
                STAR
            )
            ()
            [(InterfaceModuleProcedure
                [intersection]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderOperator
                DIV
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                DIV
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                POW
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                EQ
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                NOTEQ
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                GT
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                GTE
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                LT
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                LTE
            )
            ()
            [(InterfaceModuleProcedure
                [subset]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderOperator
                NOT
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                AND
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                OR
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                EQV
            )
            ()
            []
        )
        (Interface
            (InterfaceHeaderOperator
                NEQV
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
        )
        (Interface
            (AbstractInterfaceHeader)
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(()
            []
            []
            ()
            ()
            None
            (AttrIntrinsicOperator
                CONCAT
            ))]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Interface
            (InterfaceHeaderOperator
                CONCAT
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
        )
        (Interface
            (InterfaceHeaderWrite
                formatted
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [write_formatted]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderWrite
                unformatted
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [write_unformatted]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderRead
                formatted
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [read_formatted]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )
        (Interface
            (InterfaceHeaderRead
                unformatted
            )
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            [(InterfaceModuleProcedure
                [read_unformatted]
                [(SimpleAttribute
                    AttrModule
                )]
                ()
            )]
        )]
        []
        [(Function
            f
            [(operator)]
            []
            ()
            ()
            (TriviaNode
                [(EndOfLine)
                (Comment
                    "! Currently parsed as an operator, but AST -> ASR phase can fix that:"
                )]
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeReal
                    []
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    In
                )]
                [(()
                []
                []
                ()
                ()
                None
                (AttrIntrinsicOperator
                    STAR
                ))]
                ()
            )]
            []
            []
            []
        )]
    )]
)
