valkyrie-parser 0.2.5

The hand write parser of valkyrie language
Documentation
NamespaceDeclaration {
    kind: Test,
    path: expression∷infix,
}
InfixNode {
    infix: -,
    lhs: InfixNode {
        infix: +,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: /,
    lhs: InfixNode {
        infix: *,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ^,
    lhs: a,
    rhs: InfixNode {
        infix: ^,
        lhs: b,
        rhs: c,
    },
}
InfixNode {
    infix: ^,
    lhs: 5,
    rhs: InfixNode {
        infix: -,
        lhs: InfixNode {
            infix: *,
            lhs: 4,
            rhs: InfixNode {
                infix: +,
                lhs: 3,
                rhs: 2,
            },
        },
        rhs: 1,
    },
}
InfixNode {
    infix: +,
    lhs: 1,
    rhs: InfixNode {
        infix: *,
        lhs: 2,
        rhs: InfixNode {
            infix: ^,
            lhs: 3,
            rhs: InfixNode {
                infix: -,
                lhs: 4,
                rhs: 5,
            },
        },
    },
}
InfixNode {
    infix: ==,
    lhs: a,
    rhs: c,
}
InfixNode {
    infix: =,
    lhs: InfixNode {
        infix: ≠,
        lhs: a,
        rhs: UnaryNode {
            prefix: !,
            base: b,
        },
    },
    rhs: c,
}
InfixNode {
    infix: ≡,
    lhs: InfixNode {
        infix: ≡,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ≢,
    lhs: InfixNode {
        infix: ==,
        lhs: InfixNode {
            infix: ≢,
            lhs: a,
            rhs: UnaryNode {
                prefix: !,
                base: b,
            },
        },
        rhs: c,
    },
    rhs: c,
}
InfixNode {
    infix: ?=,
    lhs: InfixNode {
        infix: =,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: >,
    lhs: InfixNode {
        infix: >,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ⩾,
    lhs: InfixNode {
        infix: ⩾,
        lhs: InfixNode {
            infix: ⩾,
            lhs: a,
            rhs: b,
        },
        rhs: c,
    },
    rhs: d,
}
InfixNode {
    infix: <,
    lhs: InfixNode {
        infix: <,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ⩽,
    lhs: InfixNode {
        infix: ⩽,
        lhs: InfixNode {
            infix: ⩽,
            lhs: a,
            rhs: b,
        },
        rhs: c,
    },
    rhs: d,
}
InfixNode {
    infix: ≫,
    lhs: InfixNode {
        infix: ≫,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ⋙,
    lhs: InfixNode {
        infix: ⋙,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ≪,
    lhs: InfixNode {
        infix: ≪,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ⋘,
    lhs: InfixNode {
        infix: ⋘,
        lhs: a,
        rhs: b,
    },
    rhs: c,
}
InfixNode {
    infix: ∈,
    lhs: InfixNode {
        infix: ∈,
        lhs: a,
        rhs: list,
    },
    rhs: List,
}
InfixNode {
    infix: ∉,
    lhs: a,
    rhs: list,
}
InfixNode {
    infix: ∈,
    lhs: a,
    rhs: list,
}
InfixNode {
    infix: ∈,
    lhs: a,
    rhs: list,
}
InfixNode {
    infix: ⊑,
    lhs: a,
    rhs: String,
}
InfixNode {
    infix: ⋢,
    lhs: b,
    rhs: String,
}
InfixNode {
    infix: ==,
    lhs: InfixNode {
        infix: ⍲,
        lhs: InfixNode {
            infix: ∧,
            lhs: InfixNode {
                infix: ≠,
                lhs: InfixNode {
                    infix: ⍱,
                    lhs: InfixNode {
                        infix: ∨,
                        lhs: InfixNode {
                            infix: ∨,
                            lhs: InfixNode {
                                infix: ∧,
                                lhs: a,
                                rhs: b,
                            },
                            rhs: c,
                        },
                        rhs: d,
                    },
                    rhs: e,
                },
                rhs: f,
            },
            rhs: g,
        },
        rhs: h,
    },
    rhs: i,
}