CS310

PROGRAMMING LANGUAGES & COMPILERS

Credits
5
Year
3
Semester
1
Department
COMPUTER SCIENCE

Overview

Compilers, interpreters and assemblers; formal grammars; lexical analysis, syntax analysis, predictive parsing; symbol tables and semantic analysis; code generation, optimisation and run-time environments.

Learning Outcomes

  • Describe the phases of program translation from source code to executable code and the files produced by these phases
  • Recognise the underlying formal models such as finite state automata, push-down automata and their connection to language definition through regular expressions and grammars
  • Explain the benefits of intermediate languages in the compilation process
  • Describe the steps and algorithms used in code generation
  • Describe how the computer system uses activation records to manage program modules and their data
  • Describe approaches to object lifetime management (e.g. garbage collection) and evaluate tradeoffs between different strategies