In this post I discuss an upcoming series I intend to write, on the relatively new parsing algorithm “parsing with derivatives.”
I am posting this here largely to hold myself to account. I am currently working on a series of posts about parsing with derivatives in Rust. By the end of it, I hope to have worked through the necessary background in formal languages, complexity theory, fixed points, and the Brzozowski derivative; walked through the entirety of the original paper “Parsing with Derivatives: A Functional Pearl” by Matthew Might, David Darais, and Daniel Spiewak; and walked through the more recent improvement on that paper, “On the Complexity and Performance of Parsing with Derivatives” by Michael D. Adams, Celeste Hollenbeck, and Matthew Might.
Throughout this series, I will be walking through the algorithms with functioning code in Rust. By the end, I hope to have produced a reasonably usable Rust parsing library based on the parsing with derivatives papers. Better yet, I hope to have provided information such that those who have read through the series can understand the entirety of the code in the library’s core.
Hopefully you all enjoy it! Expect the first post up in the next week or two!