1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
//! A collection of excellent utilities for nom, including: //! //! - [`ParserExt`][parser_ext::ParserExt], a trait which makes available //! many common nom parser combinators as postfix methods, to complement //! those already available on [`nom::Parser`]. //! - [`ErrorTree`][error::ErrorTree], a nom error which retains as much //! information and context as possible about the details of the failed //! parse, with an excellent indenting formatter for printing these failures. //! Integrates with the extra error features of `nom-supreme`. //! - Improved [`tag`] parsers, which attach the mismatched the error in the //! event of a parse failure, similar to //! [`char`][nom::character::complete::char]. //! - [`parse_separated_terminated`][multi::parse_separated_terminated], the //! perfected folding parser for building parse loops. //! - [`final_parser`][final_parser::final_parser], which serves as a bridge //! between nom-style [`IResult`][nom::IResult] parsers and more typical rust //! results. It decorates a nom parser, requiring it to parse all of its //! input, not return `Incomplete`. It also uses an //! [`ExtractContext`][final_parser::ExtractContext] trait to convert the //! error locations in nom errors, which are usually just suffixes of the //! input, into more useful locations, such as a line and column number. #![deny(missing_docs)] pub mod error; pub mod final_parser; mod from_str; pub mod multi; pub mod parser_ext; pub mod tag; pub use from_str::parse_from_str;