prql-compiler 0.2.2

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement.
Documentation
---
source: prql-compiler/src/parser.rs
expression: "parse_tree_of_str(\"select [a, b, c]\", Rule::func_call)?"
---
[
    Pair {
        rule: func_call,
        span: Span {
            str: "select [a, b, c]",
            start: 0,
            end: 16,
        },
        inner: [
            Pair {
                rule: ident,
                span: Span {
                    str: "select",
                    start: 0,
                    end: 6,
                },
                inner: [],
            },
            Pair {
                rule: expr,
                span: Span {
                    str: "[a, b, c]",
                    start: 7,
                    end: 16,
                },
                inner: [
                    Pair {
                        rule: expr_coalesce,
                        span: Span {
                            str: "[a, b, c]",
                            start: 7,
                            end: 16,
                        },
                        inner: [
                            Pair {
                                rule: expr_compare,
                                span: Span {
                                    str: "[a, b, c]",
                                    start: 7,
                                    end: 16,
                                },
                                inner: [
                                    Pair {
                                        rule: expr_add,
                                        span: Span {
                                            str: "[a, b, c]",
                                            start: 7,
                                            end: 16,
                                        },
                                        inner: [
                                            Pair {
                                                rule: expr_mul,
                                                span: Span {
                                                    str: "[a, b, c]",
                                                    start: 7,
                                                    end: 16,
                                                },
                                                inner: [
                                                    Pair {
                                                        rule: list,
                                                        span: Span {
                                                            str: "[a, b, c]",
                                                            start: 7,
                                                            end: 16,
                                                        },
                                                        inner: [
                                                            Pair {
                                                                rule: expr,
                                                                span: Span {
                                                                    str: "a",
                                                                    start: 8,
                                                                    end: 9,
                                                                },
                                                                inner: [
                                                                    Pair {
                                                                        rule: expr_coalesce,
                                                                        span: Span {
                                                                            str: "a",
                                                                            start: 8,
                                                                            end: 9,
                                                                        },
                                                                        inner: [
                                                                            Pair {
                                                                                rule: expr_compare,
                                                                                span: Span {
                                                                                    str: "a",
                                                                                    start: 8,
                                                                                    end: 9,
                                                                                },
                                                                                inner: [
                                                                                    Pair {
                                                                                        rule: expr_add,
                                                                                        span: Span {
                                                                                            str: "a",
                                                                                            start: 8,
                                                                                            end: 9,
                                                                                        },
                                                                                        inner: [
                                                                                            Pair {
                                                                                                rule: expr_mul,
                                                                                                span: Span {
                                                                                                    str: "a",
                                                                                                    start: 8,
                                                                                                    end: 9,
                                                                                                },
                                                                                                inner: [
                                                                                                    Pair {
                                                                                                        rule: ident,
                                                                                                        span: Span {
                                                                                                            str: "a",
                                                                                                            start: 8,
                                                                                                            end: 9,
                                                                                                        },
                                                                                                        inner: [],
                                                                                                    },
                                                                                                ],
                                                                                            },
                                                                                        ],
                                                                                    },
                                                                                ],
                                                                            },
                                                                        ],
                                                                    },
                                                                ],
                                                            },
                                                            Pair {
                                                                rule: expr,
                                                                span: Span {
                                                                    str: "b",
                                                                    start: 11,
                                                                    end: 12,
                                                                },
                                                                inner: [
                                                                    Pair {
                                                                        rule: expr_coalesce,
                                                                        span: Span {
                                                                            str: "b",
                                                                            start: 11,
                                                                            end: 12,
                                                                        },
                                                                        inner: [
                                                                            Pair {
                                                                                rule: expr_compare,
                                                                                span: Span {
                                                                                    str: "b",
                                                                                    start: 11,
                                                                                    end: 12,
                                                                                },
                                                                                inner: [
                                                                                    Pair {
                                                                                        rule: expr_add,
                                                                                        span: Span {
                                                                                            str: "b",
                                                                                            start: 11,
                                                                                            end: 12,
                                                                                        },
                                                                                        inner: [
                                                                                            Pair {
                                                                                                rule: expr_mul,
                                                                                                span: Span {
                                                                                                    str: "b",
                                                                                                    start: 11,
                                                                                                    end: 12,
                                                                                                },
                                                                                                inner: [
                                                                                                    Pair {
                                                                                                        rule: ident,
                                                                                                        span: Span {
                                                                                                            str: "b",
                                                                                                            start: 11,
                                                                                                            end: 12,
                                                                                                        },
                                                                                                        inner: [],
                                                                                                    },
                                                                                                ],
                                                                                            },
                                                                                        ],
                                                                                    },
                                                                                ],
                                                                            },
                                                                        ],
                                                                    },
                                                                ],
                                                            },
                                                            Pair {
                                                                rule: expr,
                                                                span: Span {
                                                                    str: "c",
                                                                    start: 14,
                                                                    end: 15,
                                                                },
                                                                inner: [
                                                                    Pair {
                                                                        rule: expr_coalesce,
                                                                        span: Span {
                                                                            str: "c",
                                                                            start: 14,
                                                                            end: 15,
                                                                        },
                                                                        inner: [
                                                                            Pair {
                                                                                rule: expr_compare,
                                                                                span: Span {
                                                                                    str: "c",
                                                                                    start: 14,
                                                                                    end: 15,
                                                                                },
                                                                                inner: [
                                                                                    Pair {
                                                                                        rule: expr_add,
                                                                                        span: Span {
                                                                                            str: "c",
                                                                                            start: 14,
                                                                                            end: 15,
                                                                                        },
                                                                                        inner: [
                                                                                            Pair {
                                                                                                rule: expr_mul,
                                                                                                span: Span {
                                                                                                    str: "c",
                                                                                                    start: 14,
                                                                                                    end: 15,
                                                                                                },
                                                                                                inner: [
                                                                                                    Pair {
                                                                                                        rule: ident,
                                                                                                        span: Span {
                                                                                                            str: "c",
                                                                                                            start: 14,
                                                                                                            end: 15,
                                                                                                        },
                                                                                                        inner: [],
                                                                                                    },
                                                                                                ],
                                                                                            },
                                                                                        ],
                                                                                    },
                                                                                ],
                                                                            },
                                                                        ],
                                                                    },
                                                                ],
                                                            },
                                                        ],
                                                    },
                                                ],
                                            },
                                        ],
                                    },
                                ],
                            },
                        ],
                    },
                ],
            },
        ],
    },
]