shrimple-parser 0.0.3

Zero-dependency next-gen parsing combinator library with flexible error reporting
Documentation

Zero-dependency library for writing parsers in a concise functional style & with exhaustive error-reporting.

Kinds of errors are distinguished via a user-defined Reason type, which signals what did a parser expect. A [ParsingError] can also have no reason, which will mean that the error is recoverable. Some built-in parsers can have [std::convert::Infallible] as their error reason, which means that any error the parser may ever return is recoverable. The distinction between recoverable & fatal errors is important for parsers that need to try multiple options.

Error reporting with precise location in the source is facilitated by constructing a [FullParsingError] with methods such as [Parser::with_full_error], [ParsingError::with_src_loc]