3 ms·
I agree, partially. I also think that the front end of a compiler is more broadly useful skill than the back end stuff. However, I believe that most people woul
by ufo 6y ago
I agree, partially. I also think that the front end of a compiler is more broadly useful skill than the back end stuff. However, I believe that most people would be better served knowing how to work with a recursive descent parser instead of a bottom up parser generator, which is something that the dragon book spends a lot of time on. For this reason, one of my favorite compiler books is munificent's Crafting Interpreters.
- markus_zhang 6y agoI'm actually reading that book. I'm going back to university to study CS and I have a course about Java which is exactly the language he uses in the first part of the book. I think this would be a good exercise for learning the language as well as learning lexing/parsing. I was blocked by the BNF expression in section 6.1. Not exactly sure what I didn't understand, but overall I felt like I could only copy what he says but not grasp the underlying rules. Maybe I need some primer on BNF first.