Compiler construction is a tricky subject, involving theory, the application of that theory, and programming technology. Virtually every day, advances in computer technology propel advances in compiler technology. Compiler Construction Using Java, JavaCC, and Yacc covers every topic essential to learning compilers from the ground up and is accompanied by a powerful and flexible software package for evaluating projects as well as several tutorials, well-defined projects, and test cases. While the coverage of JavaCC is entirely optional, this book provides the only comprehensive introduction to the topic currently available.
Far easier to read and understand than any other compiler guide, this book sets a new standard for learning this invaluable skill. It provides:
1. Strong coverage of formal languages, including context-sensitive and unrestricted languages as well as regular and context-free languages
2. A clear exposition of compiler design and implementation theory
3. Numerous well-defined projects, using source language with six levels of complexity
4. A complete teaching support software package that evaluates compiler projects for correctness, run time, and size of code, and runs on multiple platforms
5. Immediate feedback for students on their projects
Compiler Construction Using JavaTM, JavaCC, and Yacc provides substantial support for each project, many of which are incremental enhancements of previous projects. The goals at each new level are challenging but achievable and can be reached in several different ways, for example, by writing a compiler or interpreter by hand, with JavaCC, or with Yacc.