#nom #utilities #collection

nom-supreme

A collection of excellent utilities for nom

19 releases (7 breaking)

0.8.0 Apr 21, 2022
0.7.0 Mar 5, 2022
0.6.0 Aug 24, 2021
0.4.4 Jun 8, 2021
0.4.1 Dec 23, 2020

#169 in Parser implementations

Download history 18643/week @ 2024-01-10 23508/week @ 2024-01-17 22003/week @ 2024-01-24 25664/week @ 2024-01-31 26776/week @ 2024-02-07 25342/week @ 2024-02-14 34966/week @ 2024-02-21 32446/week @ 2024-02-28 33236/week @ 2024-03-06 25772/week @ 2024-03-13 34569/week @ 2024-03-20 29991/week @ 2024-03-27 29088/week @ 2024-04-03 21369/week @ 2024-04-10 30173/week @ 2024-04-17 25573/week @ 2024-04-24

112,934 downloads per month
Used in 81 crates (29 directly)

MPL-2.0 license

125KB
1.5K SLoC

nom-supreme

A collection of utilities for a superior nom experience. See docs.rs for details.


lib.rs:

A collection of excellent utilities for nom, including:

  • ParserExt, a trait which makes available many common nom parser combinators as postfix methods, to complement those already available on nom::Parser.
  • 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.
  • parse_separated_terminated, the perfected folding parser for building parse loops.
  • final_parser, which serves as a bridge between nom-style 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 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.

Dependencies

~2MB
~43K SLoC