geoff@utstat.toronto.edu (07/25/87)
I dislike most compiler books because they don't *explain* how parsing techniques work, they merely prove that parsing techniques do indeed work. I don't find this helpful. I find most of compiling to be fairly straightforward, except for parsing, which had seemed to be black magic, particularly since it is usually explained amid a flurry of Greek letters. Aho, Hopcroft & Ullman are fairly bad at this, though the new Dragon Book looks a little better at quick glance (I understand that the proliferation of Greek is Ullman's influence; I have been told that Aho and Hopcroft can explain in English). Then I found a wonderful book: Understanding and Writing Compilers by Richard Bornat, Macmillan Computer Science Series, ISBN 0 333 21732 2. It's clearly not a book for compiler professionals, but it fills a gap in the introductory compiler book market. I have yet to see another book that *explains* how parsing works. (The book was printed on a Diablo printer and so cannot contain any Greek.) The major defect of the book is that its figures contain many errors, but I have an on-line errata list (which I have been meaning to send the author) which I will supply on request. Geoff Collyer utzoo!utstat!geoff, utstat.toronto.{edu,cdn}!geoff -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request
steve@nuchat.UUCP (Steve Nuchia) (08/06/87)
In article <626@ima.ISC.COM>, geoff@utstat.toronto.edu writes: > I dislike most compiler books because they don't *explain* how parsing > techniques work, they merely prove that parsing techniques do indeed > work. I don't find this helpful. I find most of compiling to be fairly > straightforward, except for parsing, which had seemed to be black magic, > particularly since it is usually explained amid a flurry of Greek I saw a book reviewed many moons ago, and bought it when I found it on the strenght of that review. I enjoyed reading it, though I had learned a lot about compilers "the hard way" in the interim. _Engineering_a_Compiler_ Anklam, Cutler, Heinen, and MacLaren Digital (as in DEC) Press, ISBN 0-932376-19-3 They cover everything in a very practical nuts-n-bolts way, though without a lot of gory detail. This is the team that implemented the VAX PL/I compiler, and their description of the bootstrapping process is alone worth the price of the book (well, almost). They also cover the re-front-ending of the compiler for C, in a chapter titled "Beauty and the Beast". Great fun. The book's main burden is in the design of the intermediate language rather than parsing. Sadly, the PL/I parser was of the ad-hok style popular at the time. They used a parser-generator for the C parser, but they don't go into much detail. The only thing I really didn't like about the book was the ALL UPPER CASE examples and the corresponding information-depleted figures that seem to plague computer science and engineering texts. Perhaps, nay certainly, good graphic design should be taught to everyone who ever might have to try to communicate. Steve Nuchia {{soma,academ}!uhnix1,sun!housun}!nuchat!steve -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request