Anurag Mendhekar
1 min readOct 2, 2022

--

I'm glad it worked for you, but you're probably an exception.

Most new students get overwhelmed by it because they generally lack an understanding of how programming language features work and how they should be thought about (i.e., semantics).

I also find the focus on "syntax directed translation" to be very old-fashioned. While front-ends sort of need to be syntax driven, back ends completely do not and at some point semantics has to drive the compilation process. This then changes how you should think about and structure the compilation often changes based what semantics are being handled (in multiple passes of correctness preserving program transformations) which is a much cleaner way to think about compilers for modern languages.

This, of course, is not to say the dragon book is useless. It's great handbook for reference (because of its encyclopaedic nature) once you've written a few compilers and are in the weeds of trying to find a solution to a problem. But I would never ever recommend it as a first text on compilers.

--

--

Anurag Mendhekar
Anurag Mendhekar

Written by Anurag Mendhekar

Tech Entrepreneur, Author, and Software Artist

No responses yet