Paperback: 592 pages
Publisher: Cengage Learning; 1 edition (January 24, 1997)
Product Dimensions: 7.4 x 1.3 x 9.2 inches
Shipping Weight: 2.3 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (23 customer reviews)
Best Sellers Rank: #469,273 in Books (See Top 100 in Books) #36 in Books > Computers & Technology > Programming > Languages & Tools > Compiler Design #81 in Books > Computers & Technology > Programming > Languages & Tools > Compilers #2576 in Books > Computers & Technology > Computer Science
I am studying for an M.S in software construction/engineering and this book was used for a compiler course. This review is written from my perspective as a student required to understand the information.The language: The book is written in a clear and frindly "student"-friendly tone. It is actually like the author understands that I am a student and seeing this subject for the first time. The language is straightforward and not over-complex as I have seen it in other books used by instructors.The structure: As a student i liked the content of the exercises a great deal. They kept focus on things which had been discussed earlier and this is always a good thing. I was able to keep pace with the reading and to follow the course at the same time - this is quite a feat (though maybe i just pulled myself together this time).Content: It should be no problem for any instructor to plan the teaching using this book. The first chapters introduces compilers and the idea of simple text-recognition using regular expressions and finite automatas and moves on from there by introducing the BNF notation to write context-free grammers. Three chapters explains the essence of CF grammers and top-down and bottom-up parsers in a clear and friendly way.The book uses the C language to show programming examples. Personally i had not problems but some might feel that the use of pseudo-code would be more appropiate. The book describes the construction of a simple compiler (written in C) for a simple programming language. C or pseudo-code - i like this way of doing a real example which is followed all the way through the book. The entire C source-code for this compiler is presented in the back of the book and used as reference through the chapters.
I rate Compiler Construction: Principles and Practice to the same category as legendary Kernighan/Ritchie C Programming Language, Petzold's Programming Windows or Richter's Programming Server Side Applications for MS Windows 2000. This is one of the best books I have ever read.Compiler construction is relatively hard topic with lot of theory needed to be understood before you can write even the most trivial compiler. Regular expressions, finite automata, BNF or attribute grammars are just few things you need to know and known them very well before you can write you own compiler.Many books paying too much attention to theory, but theory itself without many practical examples is nearly useless - especially if you are new in this field. You need examples, very good, thoroughly explained examples and even better source code where theory is transformed into practice. This is something that the book does and does it very well.Every topic is covered by such examples and at the end of every chapter there is practical implementation of scanner, parser (recursive descent), semantic analyzer and code generator in 'raw' C, using very simple (but useful) language called TINY.Another great thing is how the book is organized. First chapter introduces major steps in compiler design like scanning, parsing, semantic, runtime environment, code generation and subsequent chapters dealing with these topics. That's great, because after finishing each chapter you can write your own scanner (chapter 2), top down parser (chapter 4), bottom up parser (chapter 5), semantic analyzer (chapter 6) and runtime environment and code generation (last 2 chapters).
Compiler Construction: Principles and Practice Principles of Compiler Design (Addison-Wesley series in computer science and information processing) Delay and Disruption in Construction Contracts (Construction Practice Series) Chestnut's Obstetric Anesthesia: Principles and Practice: Expert Consult - Online and Print, 5e (Chestnut, Chestnut's Obstetric Anesthesia: Principles and Practice) Beginner's Guide to Programming the PIC24/dsPIC33: Using the Microstick and Microchip C Compiler for PIC24 and dsPIC33 (Volume 1) Colposcopy: Principles and Practice, Text with DVD, 2e (Apgar,Colposcopy: Principles and Practice) Cardiopulmonary Bypass: Principles and Practice (Gravlee, Cardiopulmonary Bypass: Principles and Practice) ASTNA Patient Transport: Principles and Practice (Air & Surface Patient Transport: Principles and Practice) Principles and Practice of Psychiatric Nursing, 10e (Principles and Practice of Psychiatric Nursing (Stuart)) Beginner's Guide To Embedded C Programming: Using The Pic Microcontroller And The Hitech Picc-Lite C Compiler Modern Compiler Implementation in Java Crafting A Compiler Engineering a Compiler Modern Compiler Implementation in ML Modern Compiler Implementation in C Introduction to Compiler Design (Undergraduate Topics in Computer Science) Compiler Design in C (Prentice-Hall software series) Building Construction Estimating (Mcgraw-Hill Series in Construction Engineering and Project Management) Construction Dewatering: New Methods and Applications (Wiley Series of Practical Construction Guides) Highway Construction and Inspection Fieldbook: Project Construction Management Book