| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 0.9.0 source code.tar.gz | 2023-02-07 | 153.6 kB | |
| 0.9.0 source code.zip | 2023-02-07 | 165.0 kB | |
| README.md | 2023-02-07 | 2.1 kB | |
| Totals: 3 Items | 320.7 kB | 0 | |
Added
- A
spill-stackfeature that usesstackerto avoid stack overflow errors for deeply recursive parsers - The ability to access the token span when using
select!likeselect! { |span| Token::Num(x) => (x, span) } - Added a
skip_parserrecovery strategy that allows you to implement your own recovery strategies in terms of other parsers. For example,.recover_with(skip_parser(take_until(just(';'))))skips tokens until after the next semicolon - A
notcombinator that consumes a single token if it is not the start of a given pattern. For example,just("\\n").or(just('"')).not()matches anycharthat is not either the final quote of a string, and is not the start of a newline escape sequence - A
semantic_indentationparser for parsing indentation-sensitive languages. Note that this is likely to be deprecated/removed in the future in favour of a more powerful solution #[must_use]attribute for parsers to ensure that they're not accidentally created without being usedOption<Vec<T>>andVec<Option<T>>now implementChain<T>andOption<String>implementsChain<char>choicenow supports both arrays and vectors of parsers in addition to tuples- The
Simpleerror type now implementsEq
Changed
text::whitespacereturns aRepeatedinstead of animpl Parser, allowing you to call methods likeat_leastandexactlyon it.- Improved
no_stdsupport - Improved examples and documentation
- Use zero-width spans for EoI by default
- Don't allow defining a recursive parser more than once
- Various minor bug fixes
- Improved
Displayimplementations for various built-in error types andSimpleReason - Use an
OrderedContainertrait to avoid unexpected behaviour for unordered containers in combination withjust
Fixed
- Made several parsers (
todo,unwrapped, etc.) more useful by reporting the parser's location on panic - Boxing a parser that is already boxed just gives you the original parser to avoid double indirection
- Improved compilation speeds