Elevator Pitch
Parser combinator libraries are amazing tools that make creating parsers for simple and advanced use cases easy. Rust has some great libraries like winnow, chumsky & nom. We will explore why these libraries can be so convenient to use when you need to convert raw data into a structured form.
Description
In this talk, We will start by showcasing common suboptimal ways to do parsing including string splitting and regexes. We will introduce winnow and the main concepts it builds on, including its most commonly used functions. Finally, we will present several examples, from a few simple ones to building an entire parser for RESP, the Redis Serialization Protocol. If we do a good job, you’ll probably forget about regex :)
Notes
This is a talk with two speakers: Luciano Mammino (main submitter) and Roberto Gambuzzi (gbinside@gmail.com).
We have already covered this topic (mostly focusing on nom) in a series of Live streams (https://www.youtube.com/playlist?list=PLbNOKnE-Oyr2gyJyDsFgVIoFl5fz0D7zL) and presented it as a talk at the Dublin Rust Meetup: Video (https://www.youtube.com/watch?v=1atZzA3e3Kg&t=973s), Slides (https://loige.link/nom-rs)
Roberto Gambuzzi’s bio: Roberto is a gray-bearded-wizard with many many years of experience using all sorts of programming languages. He has been playing with Rust in his free time in the last few years, especially solving advent of code and other interesting coding challenges.