Design and Implementation of Programming Languages
The design of high-level programming languages, along with elements
of the compiler technology used to translate those languages into executable code.
Formal description of language syntax, parsing, memory management attributes of
variables and their binding times, control and data abstraction mechanisms and object-oriented
language features. Imperative and object-oriented languages, with brief introduction
to functional and logic programming paradigms.