Code: | CC3001 | Acronym: | CC3001 | Level: | 300 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Computer Science |
Active? | Yes |
Responsible unit: | Department of Computer Science |
Course/CS Responsible: | Bachelor in Computer Science |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
L:CC | 28 | Plano de estudos a partir de 2014 | 3 | - | 6 | 56 | 162 |
MI:ERS | 43 | Plano Oficial desde ano letivo 2014 | 3 | - | 6 | 56 | 162 |
Study and implementation of a compiler and interpreter of a programming language.
To be able to implement a compiler to a simple programming language.
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. Cycle optimisation.
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.
designation | Weight (%) |
---|---|
Exame | 70,00 |
Trabalho laboratorial | 30,00 |
Total: | 100,00 |
0.3*coursework + 0.7*exam