Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A practical approach to compiler construction
Watson D., Springer International Publishing, New York, NY, 2017. 254 pp. Type: Book (978-3-319527-87-1)
Date Reviewed: Feb 16 2018

Several comprehensive books have been written about compiler construction. Any new book on this topic is inevitably going to be compared against those works. However, by taking a different approach, a new book can set itself apart. This is exactly what the author has achieved. The book offers a practice-oriented take on the elementary concepts without overwhelming the reader with theory unnecessary to implement a simple, yet functional compiler from scratch.

Motivated by the implementation of high-level programming languages, the first two chapters introduce some of the core concepts in language and compiler design. From there on, the book is structured like most texts on compiler construction. Chapters mirror the path followed by the source language as it is converted into the target language. The first half of the book is concerned with lexing and parsing. The second part covers semantic analysis, (intermediate) code generation, and optimizations. The final chapter addresses some of the potential issues and concerns that eventually complicate the conceptually straightforward design of the compiler.

The book is an excellent resource for anyone who is looking for an introduction to the basic structure and concepts of a compiler. Better-suited works are available for an in-depth analysis. Nothing in this book is novel; neither the content nor the structure is significantly different from any other work on the topic. Only the surface is scratched for the things that make compiler construction hard. While this is possibly the book’s biggest weakness, it is also its biggest strength. It’s all too easy to lose the high-level overview when being bombarded with overly theoretical explanations of already-complex concepts.

For every topic that is covered, the author does an excellent job of explaining it in a clear, structured, and self-contained manner. Although every chapter builds on the previous one, there are no implicit dependencies such as algorithms on which the rest of a chapter hinges.

Overall, the book leaves the reader with a solid foundation. Every chapter ends with a thoughtful list of references that are valuable for anyone who wants to go beyond the breadth or depth of the book.

In conclusion, the book provides excellent material for those with limited or no knowledge about the internals of a compiler. When read carefully, it renders itself obsolete by the time it is finished.

Reviewer:  Jonas Devlieghere Review #: CR145859 (1806-0274)
Bookmark and Share
  Reviewer Selected
 
 
Compilers (D.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Compilers": Date
An architecture for combinator graph reduction
Philip John J., Academic Press Prof., Inc., San Diego, CA, 1990. Type: Book (9780124192409)
Feb 1 1992
Crafting a compiler with C
Fischer C., Richard J. J., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805321661)
Feb 1 1992
A methodology and notation for compiler front end design
Brown C., Paul W. J. Software--Practice & Experience 14(4): 335-346, 1984. Type: Article
Jun 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy