php-parser-rs 0.1.3

A handwritten recursive-descent parser for PHP written in Rust
Documentation
[
    FullOpeningTag(
        FullOpeningTagStatement {
            span: Span {
                line: 1,
                column: 1,
                position: 0,
            },
        },
    ),
    Interface(
        InterfaceStatement {
            attributes: [],
            interface: Span {
                line: 4,
                column: 1,
                position: 8,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 4,
                    column: 11,
                    position: 18,
                },
                value: "foo",
            },
            extends: None,
            body: InterfaceBody {
                left_brace: Span {
                    line: 4,
                    column: 15,
                    position: 22,
                },
                members: [
                    Method(
                        AbstractMethod {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            modifiers: MethodModifierGroup {
                                modifiers: [
                                    Public(
                                        Span {
                                            line: 5,
                                            column: 5,
                                            position: 28,
                                        },
                                    ),
                                ],
                            },
                            function: Span {
                                line: 5,
                                column: 12,
                                position: 35,
                            },
                            ampersand: None,
                            name: SimpleIdentifier {
                                span: Span {
                                    line: 5,
                                    column: 21,
                                    position: 44,
                                },
                                value: "bar",
                            },
                            parameters: FunctionParameterList {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_parenthesis: Span {
                                    line: 5,
                                    column: 24,
                                    position: 47,
                                },
                                parameters: CommaSeparated {
                                    inner: [],
                                    commas: [],
                                },
                                right_parenthesis: Span {
                                    line: 5,
                                    column: 25,
                                    position: 48,
                                },
                            },
                            return_type: Some(
                                ReturnType {
                                    colon: Span {
                                        line: 5,
                                        column: 26,
                                        position: 49,
                                    },
                                    data_type: ParentReference(
                                        Span {
                                            line: 5,
                                            column: 28,
                                            position: 51,
                                        },
                                    ),
                                },
                            ),
                            semicolon: Span {
                                line: 5,
                                column: 34,
                                position: 57,
                            },
                        },
                    ),
                ],
                right_brace: Span {
                    line: 6,
                    column: 1,
                    position: 59,
                },
            },
        },
    ),
]