Crate parser_compose
source ·Expand description
See the README.md for a crash course in parser combinators.
The crate is logically organized into three parts
Parsers
Any rust item that implements the Parser trait can parse input by calling try_parse()
Additionally the Parser trait is implemented for all function with a particular signature.
Parser combinators
The associated methods on the Parser trait are used to combine with other parsers.
The sequence combinator is so common that it has a special form. Tuples of parsers implement
Parser such that the tuple parser succeeds if all its parsers succeed.
Errors
parser-compose take a simple but comprehensive approach to error handling: All parsers and
combinators report errors by building up an ErrorTree. If the top level
parser fails, the result will contain an instance of this tree.
Examples
Checkout the integration test directory for concrete parsing examples.
Structs
- See
and_then() - See
byte - See
fold() - See
map(). - See
optional() - See
or() - Container for input into parsers
- See
peek() - See
when() - See
utf8_str
Enums
- The error type returned when parsers fail.
Traits
- A trait for parsers
- Trait used to specify how many times a parser should run.
Functions
- A parser that recognizes the first byte in a byte slice.
- A parser that recognizes the first unicode scalar value at the start of a string slice.
- Returns a parser that recognizes the first byte in a byte slice if its value is in the specified range
- A parser that succeeds if there is no more input to consume.
- Returns a parser that recognizes the first unicode scalar value in a string slice if its value is in the specified range
Type Aliases
- The return value of this crate’s parsers