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 postmortem in a software engineering course, for example. For compiler courses, this book complements traditional compiler texts. It 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 prepare a substantial programming project to give their students some practical experience. The situation is trying for both students and instructors, 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.