Plano de Estudos
Técnicas de Compilação TCom
Contextos
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 892 - Mestrado em Informática - Geral > 2º semestre
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 787 - Mestrado em Informática - CTP
ECTS
6.0 (para cálculo da média)
Objectivos
Este curso apresenta técnicas e ferramentas fundamentais para a construção de processadores de linguagem em geral, incluindo geradores de scanners / analisadores, verificação de restrições semânticas, otimização e geração de código. No final do curso, os alunos devem ser capazes de usar geradores de analisadores léxico e sintático, verificar restrições semânticas de linguagem, gerar código para máquinas virtuais e conhecer os fundamentos da otimização de código.
Programa
O processo de compilação; Análise léxica; Árvores sintáticas abstratas; Análise sintática; Tabelas de símbolos e processamento de declarações; Análise semântica; Representações intermédias; Síntese de código; Suporte à execução; Análise e otimização de programas.
Método de Avaliação
Trabalhos escritos; desenvolvimento de um compilador em várias fases; preparação de testes.
Carga Horária
Carga Horária de Contacto -
Trabalho Autónomo - 119.0
Carga Total -
Bibliografia
Principal
- Modern Compiler Implementation in Java: Andrew W. Appel and Jens Palsberg 2002 Modern Compiler Implementation in Java. Andrew W. Appel and Jens Palsberg, 2nd edition. Cambridge University Press, 2002
Secundária
- Compilers: Principles, Techniques, and Tools: Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman 2007 Aho, A. V., Sethi, R., & Ullman, J. D. (1986). Compilers, principles, techniques. Addison wesley, 7(8), 9.