MAC0410 Introdução à Compilação
OBJETIVOS: Estudo da teoria e das técnicas usadas na construção de compiladores. Os alunos projetam e testam um compilador completo para uma linguagem algorítmica.
PROGRAMA: O processo de compilação. Introdução às linguagens formais e sua relação com autômatos. Simuladores de autômatos em computadores. O analisador léxico como um autômato finito. Expressões regulares. Analisadores sintáticos LL e LR. Recuperação de erros sintáticos. Tabela de símbolos; estrutura de blocos. Análise de contexto e geração de código objeto. Expressões aritméticas e booleanas. Comandos repetitivos e de seleção. Variáveis indexadas. Procedimentos e recursividade.
PRÉ-REQUISITOS: MAC0122.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 10 horas; 6 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios, bem como a conclusão do projeto.
BIBLIOGRAFIA BÁSICA:
- V.W. Setzer, I.S. Homem de Melo, A Construção de um Compilador, Campus, 1983.
- A.V. Aho, J.D. Ullman, Principles of Compiler Design, Addison-Wesley, 1977.
OBSERVAÇÃO: Disciplina optativa eletiva no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]