The book and its diskette offer complete documented source code for lcc , so they may interest practitioners who wish to experiment with compilation or those working in application areas that use or implement language-based tools and techniques, such as user interfaces. The book shows a large software system, warts and all. It could thus be the subject of a post-mortem in a software engineering course, for example. For compiler courses, this book complements traditional compiler texts. This book shows one way of implementing a C compiler while traditional texts survey algorithms for solving the broad range of problems encountered in compiling.
Limited space prevents such texts from including more than a toy compiler.
Code generation is often treated at a particularly high level to avoid tying the book to a specific computer. As a result, many instructors assign a substantial programming project to give their students some practical experience. The situation is trying for both and unsatisfying to boot, because the compilers are still toys. By documenting most of a real compiler and providing the source code, this book offers an alternative. It exploits recent research that produces code generators from compact specifications.