mcguire@cs.tamu.edu (Tim McGuire) (11/30/90)
Has anyone out there used Allen Holub's Compiler Design in C for a compiler course? I will be teaching a course this spring for senior undergraduates and would appreciate any feedback you may have to offer. Tim McGuire mcguire@cs.tamu.edu -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
johnm@cory.Berkeley.EDU (John D. Mitchell) (12/01/90)
In article <9011291759.AA06388@neuron.tamu.edu> mcguire@cs.tamu.edu (Tim McGuire) writes: >Has anyone out there used Allen Holub's Compiler Design in C for >a compiler course? I will be teaching a course this spring for >senior undergraduates and would appreciate any feedback you may >have to offer. How about some feedback from a student? I have just completed the undergraduate compiler class at UCB. The official text was the Dragon book. I personally used Mr. Holub's book as a supplementary text. Since this course is designed as an introduction to the fundamental computing ideas, techniques, and such (exemplified by compiler design), the dragoon book can be daunting. It presents a lot of very dense material very quickly. As my TA said "You have to already know the stuff to be able to read the book." I find that frustrating. Good lecturing by the professor (S. Graham) and my TA to clear most of the confusion. Reading Compiler Design in C was a nice change of pace. It's very readable. Information is presented in a clear and quite easy to follow manner. Seeing (complete, working) code that did what we were to learn was great. The problem with all that code was that you could get lost amid the details and lose track of the underlying theory. Speaking of theory, the book did gloss over the more complicated stuff in favor of the code explanations and basics (Mr. Holub states this up front). I wouldn't hesitate to recommend it for an introductory class. Just be prepared to supplement the theory and watch out for the typos! As a side note: One of the biggest problems in my class was the lack of preparedness of the programming assignments. They thought they could hack one of the other professor's code to work for there language. Oops! That left us students having to debug not only our code but theirs as well. Please make sure that you (the management) has completed a working version of each assignment before you give it out. Also, proof-read the assignment handouts. We spent 5 hours tracking down a bug (in our generated 68020 assembly) that ended up being due to wrong documentation. Side note #2: We worked in two person teams. This works great! Good luck, John D. Mitchell johnm@cory.Berkeley.EDU -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
jmd@dlogics.COM (Jens M. Dill) (12/03/90)
In article <9011291759.AA06388@neuron.tamu.edu>, mcguire@cs.tamu.edu (Tim McGuire) writes: > Has anyone out there used Allen Holub's Compiler Design in C for > a compiler course? I haven't used Holub's book for teaching, but I have used it as a reference for compiler development and I have taught compiler courses from Aho et al. Here are my gut reactions to Holub's book. 1. It is a very readable, practical, down-to-earth view of the subject. Students are going to find it easier to use than any of its competitors, especially if the course focuses on practical aspects as opposed to theory. 2. It shows signs of being hastily assembled. Minor errata are frequent, and you need to be on your toes. Read everything first, then try it out, and make sure you are sure that it works. Most of it does, but you don't want to be caugth when it doesn't. By all means, contact Gene Holub and make sure you have the latest errata listing. He's been doing a good job keeping up with it, as near as I can tell. But don't throw out the book due to the errata. 3. The book contains one serious technical error. The definition of ambiguity, as applied to context-free grammars is just plain wrong. It is the work of about five minutes for a language theorist to construct examples of unambiguous grammars that satisfy Holub's definition of ambiguity and ambiguous grammars that don't. [Gene, if you are listening, I'd meant to open a discussion with you on the subject, but my new employer's outgoing E-mail connections are a pain. -- JMD]. Again, this is not a reason to avoid the book. Hope this helps. And good luck. -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
jmd@dlogics.COM (Jens M. Dill) (12/05/90)
My apologies to Allen Holub for mis-remembering his name in my last posting. -- Jens M. Dill (jmd@dlogics.com) -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.