16 releases
0.0.15 | Apr 11, 2021 |
---|---|
0.0.14 | Mar 16, 2021 |
0.0.5 | Nov 24, 2020 |
#2849 in Parser implementations
43 downloads per month
Used in rational_deduction
270KB
2K
SLoC
About
ExprZ is an expression representation and parsing library. ExprZ expressions are typed s-expressions formed from atoms or groups of expressions and represent enumerated types of the form
enum Expr<A> {
Atom(A),
Group(Vec<Self>),
}
ExprZ generalizes this enum
by defining an Expression
trait which encompasses the algebraic properties of the above enum
but which affords the user the flexibility of a more efficient implementation.
ExprZ comes with default implementations of Expression
which use the Rust alloc
library. To access these implementations use the alloc
feature on the crate.
Rust Nightly
The most recent version of ExprZ uses the Rust nightly compiler toolchain which is necessary for defining the main Expression
trait. In the future we hope to remove this requirement as the Expression
API becomes more refined over time or once the standard compiler toolchain catches up.
Getting Started
For more information on how to use ExprZ, see the documentation.
License
This project is licensed under the ISC License. See LICENSE for more information.
Dependencies
~0–430KB