MINISTÉRIO DA EDUCAÇÃO
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS
DIRETORIA DE GRADUAÇÃO
Plano de Ensino
Identificação da Disciplina
- Campus: Timóteo
- Disciplina: Compiladores
- Código: G07COMP0.01
- Início: 03/2026
Carga Horária
- Total: 60 horas-aula
- Semanal: 04 aulas
- Créditos: 04
Caracterização
- Natureza: Teórica
- Área de Formação – DCN: Profissionalizante
- Competências/Habilidades: C02, C06, C07
- Departamento: DECOMTM
Ementa
Conceitos básicos de linguagens, tradutores, interpretadores e compiladores.
Estrutura de um compilador. Análises léxica e sintática.
Tabela de símbolos. Esquemas de tradução.
Ambiente de tempo de execução. Representação intermediária.
Análise semântica. Geração de código. Otimização de código.
Interpretadores.
Estudo de caso: projeto, implementação e teste de um compilador utilizando ferramentas de auxílio ao projeto e construção de compiladores.
Vinculação Curricular
| Curso | Período | Eixo | Obrigatória | Optativa |
|---|---|---|---|---|
| Engenharia de Computação | 7º | Fundamentos de Engenharia de Computação | X |
Interdisciplinaridades
- Pré-requisitos: Algoritmos e Estruturas de Dados I
- Co-requisitos: —
Objetivos
A disciplina deverá possibilitar ao estudante:
- Conhecer os fundamentos de compiladores.
- Justificar a escolha de ferramentas, ambientes e linguagens usados no desenvolvimento de software.
- Experimentar o projeto e a implementação de um produto de software complexo.
Unidades de Ensino
| Unidade | Conteúdo | Carga Horária (h/a) |
|---|---|---|
| 1 | Introdução – Processadores de linguagem. Estrutura de um compilador. Expressões regulares, gramáticas e autômatos. | 4 |
| 2 | Análise Léxica – Papel do analisador léxico. Tokens, lexemas, padrões. Tabela de símbolos. Implementação. Geradores léxicos. | 6 |
| 3 | Análise Sintática – Gramáticas livres de contexto. Análise descendente e ascendente. Recuperação de erros. Implementação. Geradores sintáticos. | 18 |
| 4 | Sintaxe – Tradução dirigida por sintaxe. Definições dirigidas por sintaxe. Atributos herdados e sintetizados. Esquemas de tradução. | 10 |
| 5 | Análise Semântica – Compiladores em PLN. Papel do analisador semântico. Verificação de tipo, classe e unicidade. | 6 |
| 6 | Geração de Código – Código intermediário. Código de três endereços. Tipos, expressões, comandos e procedimentos. Projeto de gerador de código. | 10 |
| 7 | Desempenho de Compiladores – Organização de memória. Pilha e heap. Registros de ativação. Acesso a dados não locais. Passagem de parâmetros. | 6 |
| Total | 60 |
Bibliografia Básica
- AHO, Alfred V. et al. Compiladores: princípios, técnicas e ferramentas. 2. ed. São Paulo: Pearson Addison Wesley, 2007. ISBN 978-85-88639-24-9.
- LOUDEN, Kenneth C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. ISBN 978-85-221-0422-2.
- SEBESTA, Robert W. Conceitos de linguagens de programação. 9. ed. Porto Alegre: Bookman, 2011. ISBN 978-85-7780-791-8.
Bibliografia Complementar
- ASCENCIO, A. F. G.; ARAÚJO, G. S. Estruturas de dados: algoritmos, análise da complexidade e implementações em Java e C/C++. São Paulo, 2010. E-book.
- DE MELO, A. C. V.; DA SILVA, F. S. C. Princípios de linguagem de programação. São Paulo: Blucher, 2003. E-book.
- GRUNE, Dick. Modern Compiler Design. 2. ed. New York: Springer, 2012. ISBN 978-1-4614-4698-9.
- BORIN, Vinicius Pozzobon. Estrutura de dados. São Paulo: Contentus, 2020. E-book.
- SAVITCH, Walter. C++ absoluto. São Paulo: Addison Wesley, 2004. ISBN 85-88639-09-2.
Assinaturas
Leonardo Lacerda Alves
Professor EBTT – DECOMTM
Assinado digitalmente em 24/10/2025Rodrigo Gaiba de Oliveira
Coordenador – CECOMTM
Assinado digitalmente em 24/10/2025
Plano de Ensino nº 2227/2025 – CECOMTM
Documento original disponível no SIG-CEFET/MG.