
While focusing on the essential techniques common to all language paradigms, this book provides readers with the skills required for modern compiler construction. All the major programming types (imperative, object-oriented, functional, logic, and distributed) are covered. Practical emphasis is placed on implementation and optimization techniques, which includes tools for automating compiler design.
### Some of the following assume an advanced backround:
Structure and Interpretation of Computer Programs , Abelson & Sussman &
Engineering a compiler, K.D. Cooper & L. Torczon
Modern Compiler Design (Worldwide Series in Computer Science),
Build Your Own Programming Language: A programmer's guide to designing compilers, interpreters, and DSLs for solving modern computing problems, C Jeffery
### Alternate suggestions:
Aho et al. book covers quite a broad variety of topics/discussions. There are resources that cover more current approaches / more indepth for a given topic/specific subject matter than would be possible in Aho et.
Depending on requirements/needs, on-line resources/courses/topics can provide access to more modern/quicker feedback:
search compiler on https://www.geeksforgeeks.org/
software perspectiv, https://program-transformation.org/
research intensive, look at specific book/documentation on how a language is/was implimented, aka cpython, java, compiling lisp, smalltalk-80, forth
General resource sites (per looking for something less expensive): https://github.com/aalhour/awesome-compilers / https://bernsteinbear.com/pl-resources/
For anyone interested in other books on compiler construction, I would recommend these:
- "The Basics of Compiler Design" by Torben Mogensen
- "Modern Compiler Implementation in C" by Andrew Appel (ML and Java versions available too)
- "Modern Compiler Design" by Grune, Bal et al.
The Dragon Book is obviously infamous for this topic, but I would recommend covering at least two slightly more basic texts before taking it on.
About the language design itself, you might want to have a look to: http://www.drdobbs.com/architecture-and-design/so-you-want-t... These are very interesting guidelines from Walter Bright, the man behind the D programming language.
Grune at al., "Modern Compiler Design",
Appel, "Modern Compiler Implementation in ML",
and many more.
P.S. Because of a slow-ban, adding another one to this answer. This is the best source on SSA:
http://www.cri.ensmp.fr/people/pop/papers/2006-12-thesis.pdf