Department of Computer Science
Section A Fall Mon, Wed, Fri 15:30
This course is concerned with a variety of theoretical and practical questions that are raised by the need to implement programming languages. The implementation of a programming language is accomplished by writing a computer program that functions as a "translator" or "language processor". Language processors can be categorized as compilers, cross- compilers, interpreters, assemblers, and pre-processors. However, the different kinds of translators generally exhibit a common internal structure consisting of standardized "phases": the scanner, parser, and semantics. Because of this common structure, it is appropriate to study language processors as a unified group. However, the course emphasizes the most important class of language processors: compilers.
As a practical exercise, students are required to design and implement components of a compiler.
Topics covered may include the following:
Prerequisites: general prerequisites, including COSC3301.03