A zig implementation of matklad's minimal pratt parser. The video shows how each section of the code maps to a specific part of the original academic paper.
- Matklad's blog tutorial- Simple but Powerful Pratt Parsing
- Blog repository - matklad/minipratt
- Original academic paper - Top Down Operator Precedence
The second part of the video follows data-oriented design, reducing the memory usage of the parser as much as possible. To understand this section, these discussions are a prerequisite:
- Andrew Kelley's (Creator of Zig) Talk - Andrew Kelley Practical Data Oriented Design (DoD)
- How the Zig parser works - Mitchell Hashimoto's blog post