We studied different parsing techniques in Chapter 4, Data serialization, De-Serialization, and Parsing. We looked at using parser combinators using Nom, building a large parser from smaller parts. There is a completely different way of solving the same problem of parsing textual data, using Parsing Expression Grammar (PEG). A PEG is a formal grammar that defines how a parser should behave. Thus, it includes a finite set of rules, from basic tokens to more complex structures. A library that can take in such grammar to produce a functional parser is Pest. Let's look at an example of rewriting our HTTP parsing example from Chapter 4, Data Serialization, De-Serialization, and Parsing, using Pest. Start with the Cargo project set up:
$ cargo new --bin pest-example
Like always, we will need to declare dependency on Pest components like this:
[package]
name =...