|Re: compiler books... [from my bookshelf] decvax!yetti!oz (1987-07-19)|
|Re: compiler books... [from my bookshelf] amdcad!sun!rtech!rtech!mark (1987-07-21)|
|Re: compiler books... [from my bookshelf] email@example.comStevenson) (1987-07-23)|
|Date:||Sun, 19 Jul 87 14:27:55 edt|
|From:||decvax!yetti!oz (Ozan Yigit)|
A simple run-down on some of the compiler books from my shelf. This run-down
is very subjective. Your milage with these books may vary.
Dragon Books: Aho/Ullman | Aho/Sethi/Ullman
The new one is more readable than the old one, and it is probably better. I
find both books to be sometimes inpenetrable. The pragmatic parts of both
books are quite weak. I do find the new production/semantic rule tables
useful, but again, no concrete implementation samples.
T&P of Compiler Writing: Tremblay/Sorensen
Much more pragmatic book in many ways. When coupled with the sister book
containing a complete compiler implementation, it is probably one of the
better books for the practicing compiler writer. The chapter on "Intermediate
Representation" is very weak. The chapter on optimization is better.
Compiler Construction for Digital Computers: Gries
Probably one of the best books ever written on the subject, and despite its
age, it is still better than some of the newer books. It has the right blend
of theory and practice, and I wish Gries got around to writing a more
up-to-date version of this book. But I understand that his current research
interests are different, so this may be an empty hope.
Compiler Construction: Weite/Goos
An interesting book with heavy emphasis on Attribute Grammars. Its appendix
present some important algorithms on directed graphs. It is probably useful as
a "complementary" book, not as a "single source" book.
The Design of an Optimizing Compiler: Wulf/others
A very important book that describes one of the best-optimizing compilers
to-date (BLISS). It contains some very pragmatic discussion of the compiler,
and the discussion of the optimization passes are especially useful.
Engineering a Compiler: Anklam/Cutler/others
DEC's book on the PL/I compiler, and the C compiler (The Beast and The
Beauty). A remarkable "practitioner's" book. Somewhat short on theory, but
neverthaless a very good expose of two production compilers sharing a
back-end. [[DEC guys had the same idea UofT had: using a virtual-engine to get
the work done: Dec has TBL, UofT has S/SL.]]
Brinch Hansen on Pascal Compilers: Hansen
This is a hacker's guide to pascal. Contains a complete implementation of a
Pascal-subset compiler, with a recursive- descent parser, and a pascal-machine
for code generation. Probably useful for a beginner-compiler-hacker. It is in
the class of other books like Hendrix's Small-C book, or Ben-Ari's Pascal-S
Compiler Construction: T & P: Barrett/Bates/others..
This is ..er.. a compiler book. I am quite indifferent to both editions of
this book. The second edition may be supplemented with a diskette containing a
parser generator, and a pascal subset compiler ($$). The second edition does
have some minor pieces of code thrown in, probably to get the PRACTICE part in
UofArizona Tech Reports by Henson, Davidson and others on code generation,
peephole optimization, etc. Also get their Y compiler distribution, which
includes the PO optimizer, one of the better re-targetable peephole optimizers
written to date. You can actually look at the source !!
UofT Tech reports on SSL, ConEuc, and especially: An orthogonal Model For Code
Generation by James R. Cordy. This report contains some very important ideas,
and it is a must for those writing production-quality code generators.
GNUCC: If you can penetrate the C code, it is an interesting reading. In
general, it seems to optimize better than the BSD4.2 C compiler, and it is a
register-hog, just like the VMS C compiler. [I did examine its assembler
output for a standard test program I previously used for the VMS and BSD
Disclaimer: These are my subjective views. I am not a compiler specialist,
just a VERY INTERESTED reader/hacker.
Usenet: [decvax|ihnp4]!utzoo!yetti!oz, ......!seismo!mnetor!yetti!oz
Bitnet: oz@[yusol|yulibra|yuyetti], Phonet:  736-5257 x 3976
Return to the
Search the comp.compilers archives again.