Two Essential Papers for Learning Compiler Writing
Original: Want to Write a Compiler? Just Read These Two Papers (2008)
Why This Matters
Provides accessible learning path for compiler development skills in software engineering.
A 2008 blog post recommends Jack Crenshaw's 'Let's Build a Compiler!' series and 'A Nanopass Framework for Compiler Education' as the best resources for beginners to learn compiler construction, arguing that most compiler textbooks are overly complex and intimidating for newcomers.
The post argues that traditional compiler textbooks like the Dragon Book are too complex for beginners, creating the myth that compilers are hard to write. It recommends two key resources: Jack Crenshaw's 1988 'Let's Build a Compiler!' series, which demonstrates single-pass compilers suitable for first-year programming students using Pascal (with C and Forth versions available). The second resource is 'A Nanopass Framework for Compiler Education' by Sarkar, Waddell, and Dybvig, which presents compilers as series of simple transformations using dozens or hundreds of passes. The author notes that Crenshaw's series lacks abstract syntax trees due to Pascal's limitations, but this becomes trivial in higher-level languages like Python, Ruby, or Lisp.