BCC328 - Construção de Compiladores I - 2024-1

Carga horária da disciplina: 4 horas/aula


Professor(es) em 2024-1

Turma 11 Professor:
Rodrigo Geraldo Ribeiro - www | e-mail

Horários:
Segunda-feira (13h30 - 15h10)
Quarta-feira (13h30 - 15h10)

Objetivos

Ao final do curso é esperado que o aluno:
- possua uma visão geral sobre o processo de compilação sob o ponto de vista de implementação
- saiba especificar aspectos léxicos, sintáticos e semânticos de linguagens através de expressões regulares e gramáticas livres de contexto
- conheça as principais técnicas e ferramentas de apoio usadas na construção de compiladores, sabendo usá-las na especificação e implementação de linguagens de programação

Ementa

Implementação de linguagens de programação: compilação e interpretação; análise léxica; análise sintática; análise semântica.

Conteúdo Programático

- Implementação de linguagens de programação: compilação e interpretação
- Análise léxica: análise léxica, analisador léxico ad hoc, expressões regulares, autômatos finitos e geradores de analisadores léxicos
- Análise sintática: análise sintática, gramáticas livre de contexto, análise sintática descendente, análise sintática ascendente, geradores de analisadores sintáticos e ações semânticas
- Análise semântica: árvore abstrata, tabelas de símbolos, checagem de tipos e regras semânticas

Bibliografia

- A.W. APPEL. Modern Compiler Implementation in ML. Cambridge University Press, 1998.
- A.W. APPEL. Modern Compiler Implementation in Java. Cambridge University Press, 1998.
- A.V. AHO, M.S. LAM, R. SETHI, J.D. ULMAN. Compiladores: Princípios, Técnicas e Ferramentas. 2. edição. Pearson, 2007.

Bibliografia complementar

- Mogensen, Torben Ægidius. Introduction to Compiler Design. 2. edição. Springer, 2011.
- Grüne, Dick; Reeuwijk, Kees van; Bal, Henri E.; Jacobs, Ceriel J. H.; Langendoen, Koen. Modern Compiler Design. 2. edição. Springer, 2012.
- Wilhelm, Reinhard; Seidl, Helmut; Hack, Sebastian. Compiler Design: Syntactic and Semantic Analysis. Springer, 2013.
- Fischer, Charles N.; Cytron, Ron K.; LeBlanc, Richard J. Jr. Crafting a Compiler. Pearson, 2010.
- Cooper, Keith D; Torczon, Linda. Engineering a Compiler. 2. edição. Elsevier, 2011. ISBN-13:

Departamento de Computação  |  ICEB  |  Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro  |  CEP 35400-000  |  Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692  |  decom@ufop.edu.br