Expand description
Parsimonious: a parser combinator library for Rust
The goal of this library is to provide parser combinators that:
- are optimized for LL(1) grammars,
- support streaming input,
- do as little buffering or copying as possible, and
- do as little dynamic method dispatch as possible.
It is based on:
- Monadic Parsing in Haskell by G. Hutton and E. Meijer, JFP 8(4) pp. 437-444,
- Nom, eating data byte by byte by G. Couprie.
Modules§
- impls
- Provide implementations of parser traits.
Enums§
- Maybe
Parse Result - The result of a parse.
- Parse
Result - The result of a parse.
Traits§
- Boxable
- A trait for boxable parsers.
- Committed
- A trait for committed parsers.
- Consumer
- A trait for consumers of data, typically buffers.
- Factory
- A trait for factories.
- Function
- A trait for one-argument functions.
- Parser
- A trait for stateless parsers.
- Stateful
- A trait for stateful parsers.
- Uncommitted
- A trait for uncommitted parsers.