Compilers
Keywords |
Classification |
Keyword |
OFICIAL |
Computer Science |
Instance: 2016/2017 - 1S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
Study and implementation of a compiler and interpreter of a programming language.
Learning outcomes and competences
To be able to implement a compiler to a simple programming language.
Working method
Presencial
Program
Introduction to programming language execution principles. Compilers vs interpreters. Lexical analysis. Scanner generators. Syntactic analysis (LL,LR, LALR parsers). Parser generators. Syntax oriented compilation. Attribute grammars. Semantic analysis: symbol table, type checking. Activation records. Three address code translation. Code generation: flow analysis , register allocation.
Mandatory literature
Appel Andrew W. 1960-;
Modern compiler implementation in ML. ISBN: 978-0-521-60764-3 pbk
Louden Kenneth C.;
Compiler construction. ISBN: 978-0-534-93972-4 hbk
Complementary Bibliography
Aho Alfred V. 070;
Principles of compiler design. ISBN: 0-201-00022-9 1 345$20
Teaching methods and learning activities
The problems and respective solution techniques will be explained during the lectures. At the same time a compiler for a toy language will be constructed by the students.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
designation |
Weight (%) |
Exame |
70,00 |
Trabalho laboratorial |
30,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
designation |
Time (hours) |
Elaboração de projeto |
2,00 |
Estudo autónomo |
2,00 |
Frequência das aulas |
4,00 |
Total: |
8,00 |
Calculation formula of final grade
0.15*coursework1 + 0.15*coursework2 + 0.7*exam