| Crates.io | pups |
| lib.rs | pups |
| version | 0.1.15 |
| created_at | 2025-09-14 04:14:33.488042+00 |
| updated_at | 2025-11-29 22:07:26.15134+00 |
| description | Pretty Understandable Parsers |
| homepage | |
| repository | https://github.com/rob-gage/pups |
| max_upload_size | |
| id | 1838342 |
| size | 3,346 |
Pups is a parser combinators library. It is designed to work for any type of input, whether that be text, or some other sequenced data. It provides a number of elementary combinators that allow the easy construction of larger parsers.
Parsers can be run in different modes, that return different information. A user may choose to collect all parsed data, accumulated errors, and messages, or they may choose to simply check if the input is valid for the parser. These modes allow for much faster parsers when not all data is needed.
All parsers can be used in combinators such as .or_not(), .then(), .map() and others. This allows the composition
of complete parsers from individual components.
The Pups library makes a type-level distinction between fatal errors that immediately stop the parsing process, and accumulated messages (useful for compiler errors and warnings that allow recovery) that are simply tracked alongside the output.