|
|
|
|
|
by Jtsummers
44 days ago
|
|
I'm a fan of the structure used in Essentials of Compilation [1][2] and Writing a C Compiler [3]. If you want to start with interpreters, I like Essentials of Programming Languages [4]. I have to admit, as popular as Crafting Interpreters is on this site and others, I'm not a fan. Others seem to love it so it's worth a shot, and freely available. EOC and EOPL are a bit on the academic side, but, I think, they're highly approachable aside from the issues some people have with Scheme and Racket (the Python version of EOC would address that issue). Afterwards, I think the other, deeper and more academic texts on compilers become more approachable. [1] https://mitpress.mit.edu/9780262047760/essentials-of-compila... - Racket version, has an open access version [2] https://mitpress.mit.edu/9780262048248/essentials-of-compila... - Python version, has an open access version [3] https://nostarch.com/writing-c-compiler - Your choice of implementation language [4] https://mitpress.mit.edu/9780262062794/essentials-of-program... - Scheme, but works in Racket |
|