Workshop: Writing Parsers and Cutting Corners or How I Learned to Stop Worrying and Love ASCII
Room: Centro Congressi Frentani, Sala Latini
Maciej has worked as a developer for over a decade and has been working at Parity Technologies since the beginning of 2017. In his free time he likes to build parsers and compilers.
Want to parse some JSON? How about a Lisp? Or maybe Yet Another Another Markup Language? Whatever the motivation, we got you covered! We will work with a very small language with a grammar written in Pest (which is amazing!), try to understand what it’s doing, and see if we can make a hand-written(-ish) parser from scratch that is faster then the Pest-based one. Then we will look through some ways to make that even faster.
You will learn:
- That benchmarking your code and making it faster is a lot of fun!
- Scary words like Lexer, Tokenizer and Abstract Syntax Tree.
- That somewhat tedious and boring looking code can occasionally be the one that runs fastest.
- How to get rid of that somewhat tedious and boring code without losing performance.
- How to stop worrying and love ASCII.
- How to construct mostly allocation-free recursive tree structures.
- How to leverage C-like strings in (mostly) safe Rust.
This workshop is for you if:
- By some weird accident you believe, like I do, that writing parsers is really fun.
- You have no idea about any of this, but are curious and want to learn.