{"repo":"pest-parser/pest","free":true,"listed":false,"github":"https://github.com/pest-parser/pest","clone":"git clone https://github.com/pest-parser/pest.git","description":"The Elegant Parser","language":"Rust","stars":5380,"topics":["peg","rust","parsing"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"pest. The Elegant Parser pest is a general purpose parser written in Rust with a focus on accessibility, correctness, and performance. It uses parsing expression grammars (or [PEG]) as input, which are similar in spirit to regular expressions, but which offer the enhanced expressivity needed to parse complex languages. [PEG]: https://en.wikipedia.org/wiki/Parsing expression grammar Getting started The recommended way to start parsing with pest is to read the official [book]. Other helpful resources: API reference on [docs.rs] play with grammars and share them on our [fiddle] find previous common questions answered or ask questions on [GitHub Discussions] leave feedback, ask questions, or greet us on [Gitter] or [Discord] [book]: https://pest.rs/book [docs.rs]: https://docs.rs/pest [fiddle]: https://pest.rs/#editor [Gitter]: https://gitter.im/pest-parser/pest [Discord]: https://discord.gg/XEGACtWpT2 [GitHub Discussions]: https://github.com/pest-parser/pest/discussions Example The following is an example of a grammar for a list of alphanumeric identifiers where all identifiers don't start with a digit: Grammars are saved in separate .pest files which are never mixed with procedural code. This results in an always up-to-date formalization of a language that is easy to read and maintain. Meaningful error reporting Based on the grammar definition, the parser also includes automatic error reporting. For the example above, the input \"123\" will result in: while \"ab \" will result in: ","default_branch":null,"files":null,"tree":[],"storefront":"/r/pest-parser","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pest-parser/pest/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}