Introduces the theory
and practice of programming language translation. Topics include compiler
design, lexical analysis, parsing, symbol tables, declaration and storage
management, code generation, and optimization techniques.
The aim of this Course is to show how to apply the
theory of language translation introduced in the prerequisite courses to build
compilers and interpreters.
It covers the building of translators both from
scratch and using compiler generators. In the process, the Course also
identifies and explores the main issues of the design of translators.
The construction of a compiler/interpreter for a small
language is a necessary component of this Course, so students can obtain the
Discuss the effectiveness of optimization techniques.
Explain the impact of a separate compilation facility
and the existence of program libraries on the compilation process.
6. Explain the concept
of an abstract data type, and recognize the importance of typing for
abstraction and safety.