Skip to main content

Books: Basics of Compiler Design

I started reading Basics of Compiler Design. I think, perhaps, it might have helped if I had actually taken the course rather than simply try to read the book.

Here's a simple rule of thumb:
Never use three pages of complicated mathematics to explain that which can be explained using either a simple picture or a short snippet of pseudo code.
The section on "Converting an NFA to a DFA" had me at the point of tears. After a couple hours, I finally understood it. However, even after I understood it, I knew I could do a better job teaching it. A little bit of Scheme written by the SICP guys would have been infinitely clearer.

I hate to be harsh, but it seemed like the author was just having a good time playing with TeX. I picked this book because it was short and didn't dive into code too much. What I found is that it uses math instead of code. I'd prefer code.

The worst part of reading this book by myself is that even if I make it to the end, I won't know if I truly mastered the material because I won't have a compiler to show for my work. After all, there's no one around to grade my written assignments, and the book doesn't actually take you all the way through writing a real compiler.

Comments

Sunny said…
Have you read the Dragon Book(I forgot what the actual title is). I think it's the best book on Compiler design.
Yeah, I have a copy. I drowned in it a few years back. I don't know why, but I can inhale books from O'Reilly with no problem, but I totally drown in books like the Dragon book. I think it has to do with lack of time, sleep, etc. The only time I have to try to conquer such books is late at night, and I never have enough mental energy to succeed.