Presents a systematic, engineered but practical approach to compiler writing. The text is oriented towards practical examples, and suggestions for both paper exercises and coursework on the computer are provided. A simple illustrative compiler is presented in the early part of the book. This compiler is written in standard Pascal and is available for experimentation and modification. Later chapters discuss, with examples, all major aspects of Pascal compilers, including the use of tools such as YACC and LEX.