A general approach to the design of language processors is presented without regard for either the source language or target machine. All phases of compilation and interpretation are investigated in order to give the student an appreciation for the overall construction of a compiler. Typical projects may include implementation of a small compiler for a recursive or special-purpose language.
Prerequisites
knowledge of several higher-level languages and at least one assembly language. The material in CS 503 is helpful