valkyrie-parser 0.2.5

The hand write parser of valkyrie language
Documentation
NamespaceDeclaration {
    kind: Test,
    path: expression∡range,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: 1,
        },
    ],
    span: 39..42,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: RangeNode {
                kind: Offset,
                terms: [
                    Index {
                        index: 1,
                    },
                ],
                span: 45..48,
            },
        },
    ],
    span: 44..49,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: 2,
        },
        Index {
            index: InfixNode {
                infix: +,
                lhs: 1,
                rhs: 1,
            },
        },
    ],
    span: 51..61,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: Some(
                1,
            ),
            tail: Some(
                1,
            ),
            step: None,
        },
    ],
    span: 63..68,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: Some(
                2,
            ),
            tail: Some(
                2,
            ),
            step: None,
        },
        Range {
            head: Some(
                InfixNode {
                    infix: +,
                    lhs: 1,
                    rhs: 1,
                },
            ),
            tail: Some(
                InfixNode {
                    infix: +,
                    lhs: 1,
                    rhs: 1,
                },
            ),
            step: None,
        },
    ],
    span: 70..89,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: Some(
                1,
            ),
            tail: Some(
                2,
            ),
            step: Some(
                3,
            ),
        },
        Index {
            index: RangeNode {
                kind: Offset,
                terms: [
                    Index {
                        index: 1,
                    },
                    Index {
                        index: 2,
                    },
                    Index {
                        index: 3,
                    },
                ],
                span: 99..106,
            },
        },
    ],
    span: 91..107,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: None,
            tail: None,
            step: Some(
                UnaryNode {
                    prefix: -,
                    base: 1,
                },
            ),
        },
    ],
    span: 109..115,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: None,
            tail: Some(
                UnaryNode {
                    prefix: -,
                    base: 2,
                },
            ),
            step: None,
        },
    ],
    span: 117..123,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: Some(
                2,
            ),
            tail: None,
            step: None,
        },
    ],
    span: 125..130,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: InfixNode {
                infix: +,
                lhs: 1,
                rhs: 1,
            },
        },
    ],
    span: 132..139,
}
InfixNode {
    infix: +,
    lhs: RangeNode {
        kind: Offset,
        terms: [
            Index {
                index: InfixNode {
                    infix: +,
                    lhs: 1,
                    rhs: 1,
                },
            },
        ],
        span: 141..148,
    },
    rhs: 1,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: 1,
        },
        Index {
            index: 2,
        },
        Index {
            index: 3,
        },
    ],
    span: 154..161,
}
RangeNode {
    kind: Offset,
    terms: [
        Index {
            index: RangeNode {
                kind: Offset,
                terms: [
                    Index {
                        index: 1,
                    },
                    Index {
                        index: 2,
                    },
                    Index {
                        index: 3,
                    },
                ],
                span: 164..171,
            },
        },
    ],
    span: 163..172,
}
RangeNode {
    kind: Offset,
    terms: [
        Range {
            head: Some(
                1,
            ),
            tail: Some(
                2,
            ),
            step: Some(
                3,
            ),
        },
        Index {
            index: RangeNode {
                kind: Offset,
                terms: [
                    Index {
                        index: 1,
                    },
                    Index {
                        index: 2,
                    },
                    Index {
                        index: 3,
                    },
                ],
                span: 181..188,
            },
        },
    ],
    span: 174..189,
}