Compiladores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2016/2017 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Compreensão e implementação de um compilador e interpretador de uma linguagem de programação.
Resultados de aprendizagem e competências
Ser capaz de implementar um compilador para uma linguagem de programação simples.
Modo de trabalho
Presencial
Programa
Introdução ao processamento de linguagens de programaçao. Compiladores versus Interpretadores. Análise Léxica. Geradores automáticos de analisadores léxicos. Análise sintáctica (parsers LL, LR e LALR). Geradores de parsers. Sintaxe abstracta. Análise semântica: tabelas de símbolos, verificação de tipos. Registos de activação. Tradução para código intermédio. Geração de código: grafos de fluxo de dados, alocação de registos.
Bibliografia Obrigatória
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
Bibliografia Complementar
Aho Alfred V. 070;
Principles of compiler design. ISBN: 0-201-00022-9 1 345$20
Métodos de ensino e atividades de aprendizagem
Aulas teóricas expositivas dos problemas e respectivas técnicas para os resolver. Construção de um compilador de uma linguagem imperativa para uma máquina virtual simples.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
70,00 |
Trabalho laboratorial |
30,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
2,00 |
Estudo autónomo |
2,00 |
Frequência das aulas |
4,00 |
Total: |
8,00 |
Fórmula de cálculo da classificação final
0.15*nota do trabalho1 + 0.15*nota do trabalho2 + 0.7*nota do exame