xee-xpath-compiler 0.1.5

XPath 3.1 compiler of AST to Xee IR
Documentation
---
source: xee-xpath/src/ast_ir.rs
expression: "convert_expr_single(\"(1, 2) / (. + 1)\")"
---
Ok(
    Spanned {
        value: Let(
            Let {
                name: Name(
                    "v2",
                ),
                var_expr: Spanned {
                    value: Binary(
                        Binary {
                            left: Spanned {
                                value: Const(
                                    Integer(
                                        1,
                                    ),
                                ),
                                span: 1..2,
                            },
                            op: Comma,
                            right: Spanned {
                                value: Const(
                                    Integer(
                                        2,
                                    ),
                                ),
                                span: 4..5,
                            },
                        },
                    ),
                    span: 0..5,
                },
                return_expr: Spanned {
                    value: Deduplicate(
                        Spanned {
                            value: Map(
                                Map {
                                    context_names: ContextNames {
                                        item: Name(
                                            "v3",
                                        ),
                                        position: Name(
                                            "v4",
                                        ),
                                        last: Name(
                                            "v5",
                                        ),
                                    },
                                    var_atom: Spanned {
                                        value: Variable(
                                            Name(
                                                "v2",
                                            ),
                                        ),
                                        span: 0..5,
                                    },
                                    return_expr: Spanned {
                                        value: Binary(
                                            Binary {
                                                left: Spanned {
                                                    value: Variable(
                                                        Name(
                                                            "v3",
                                                        ),
                                                    ),
                                                    span: 0..0,
                                                },
                                                op: Add,
                                                right: Spanned {
                                                    value: Const(
                                                        Integer(
                                                            1,
                                                        ),
                                                    ),
                                                    span: 14..15,
                                                },
                                            },
                                        ),
                                        span: 10..15,
                                    },
                                },
                            ),
                            span: 9..16,
                        },
                    ),
                    span: 9..16,
                },
            },
        ),
        span: 9..16,
    },
)