<< 1 >>
Rating:  Summary: This is actually a decent book Review: Despite what others have said in their reviews, this is not a bad book at all for those who *already have some basic exposure to compiler theory.*This book is weak on types of grammars and the differences between LL, LR and LALR parsers for instance, and could include a hell of a lot more material on using parser generators. BUT it includes a lot of readable material on more advanced topics like code generation and garbage collection. It covers the design and implementation of object oriented languages, which is a pleasant suprise. Before tackling this book, I recommend starting with something like "Crafting a Compiler with C" by Fischer and LeBlanc. Before using this book, you must have a masterful command of the C language (in my opinion the C code is unusually ugly in this book, too). I don't care too much for the ongoing project of the Tiger language and compiler, but it's better than nothing. (The author may as well have compiled Pascal instead). I've covered a fair amount work and even then had to read this book carefully. I've tackled books like "Compilers: Principles, Techniques and Tools" (the so called Dragon Book) and "Crafting a Compiler with C," amongst dozens of others. This is not a light read, and it is quite dense. But it's straight to the point, and covers material other compiler construction books don't. One of the high points of this book is that it won't put you to sleep! It really IS readable. Finally, I will emphasise again, this is not a beginner's text.
Rating:  Summary: this is a java book in disguise Review: I bought this book, much to my chagrin, because I had looked at the Java one which FYI is a verbatim copy of this one. All the author did was translate the examples from Java to C. This was done in a very poor fashion I might add. He attempts to duplicate the object orientedness of java with straight c (no c plus plus). So instead of using a standard parse tree and symbol table, he invents this cockamamie type of tree structure using very java-esque structures. Anyway my recommendation is if you are looking for a Compiler book in C then this is not your book. If you are looking for Java, then you might as well get the java version of this guys book. My personnal recommendation is to get the dragon book.
Rating:  Summary: The Project kills this book Review: The book is fairly good. Covers the compiler theory pretty well, and includes a good coverage of advanced topics at the end. I gave it a low rating because the project really kills this book. The first 12 chapters are a walk-through gide for building a compiler for the tiger language (which the author defined). The tiger language itself is weird at first since it doesn't have any statements. It only has expressions. Besides, the language is not thoroughly documented in the book and leaves a lot of things open for the implementor. At any rate, after building the first few chapters (about the time you've done the parse tree) the book starts to get confusing, dedicating more and more space to describe the bits and pieces of the project (which I read somewhere was ported to C from ML). All in all it's a good reference book, but it's really confusing if this is your primary text. I'd recommend it as a secondary textbook. And I wouldn't recommend tiger for a compiler project, better use decaf (search google).
<< 1 >>
|