Basics of Compiler Design (2000) [pdf]
<i>sigh</i><p>Yet another book which spends more than 1/3 of its pages on parsing.<p>Syntax doesn't matter (much), semantics matters. You need to know how to implement efficiently various PL stuff within your compiler: exceptions and algebraic effects, modules and parametric modules, parametric polymorphism and optimizations for it in presence of modularity, fibers, method dispatching in Object Oriented langs, type inference etc etc.<p>These books are about parsing, not about compilers. They spend a lot of time explaining how to parse a simple featureless language, instead of just use a parser generator and focus on actual programming languages design and features.<p>Appel's Modern compiler in ML/Java/C is way better. Also there is a great course from the creator of Chez Scheme (I bet I've seen the whole course available in the internet, but I couldn't find it anymore)<p><a href="https://www.cs.princeton.edu/~appel/modern/" rel="nofollow">https://www.cs.princeton.edu/~appel/modern/</a><p><a href="http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/" rel="nofollow">http://composition.al/blog/2017/07/31/my-first-fifteen-compi...</a>