BCC328
Construção de Compiladores I

José Romildo Malaquias
Sala 21 DECOM ICEB III
Instituto de Ciências Exatas e Biológicas
Universidade Federal de Ouro Preto
romildo@iceb.ufop.br

2015/2

Sumário

1 Dados gerais
2 Ementa
3 Bibliograa
4 Objetivos
5 Metodologia de Ensino
6 Atividades Discentes
7 Avaliações
8 Código de honra do aluno
9 Grupo de discussão
10 Ferramentas
11 Aulas
12 Trabalhos
13 Provas
14 Notas e freqüências

1 Dados gerais



Departamento Computação


Unidade Instituto de Ciências Exatas e Biológicas


Carga horária semanal 4 teóricas


Duração 18 semanas


Carga horária semestral 72 horas-aula


Cursos Ciência da Computação: obrigatória 6o período


2 Ementa

  1. Implementação de linguagens de programação: compilação e interpretação
  2. Análise léxica
  3. Análise sintática
  4. Análise semântica

3 Bibliograa

[1]

PIC
Torben gidius Mogensen. Introduction to Compiler Design. Inglês. 2ª ed. Springer, 2011. isbn: 9780857298287. Livro-texto.

[2]

PIC
Andrew W Appel. Modern Compiler Implementation in ML. Inglês. Cambridge University Press, 2004. isbn: 9780521607643.

[3]

PIC
Alfred V Aho, Monica S Lam, Ravi Sethi e Jerey D Ullman. Compiladores: Princípios, Técnicas e Ferramentas. Português. 2ª ed. Pearson, 2007. isbn: 9788588639249.

[4]

PIC
Compiler Design: Syntactic and Semantic Analysis. Inglês. Springer, 2013. isbn: 9783642175398.

4 Objetivos

Ao nal do curso é esperado que o aluno:

5 Metodologia de Ensino

6 Atividades Discentes

7 Avaliações

A avaliação será feita por um conjunto de provas escritas e um conjunto de trabalhos práticos. A tabela a seguir enumera as atividades de avaliação previstas, com os respectivos pesos na formação da nota nal, e a data de realização da avaliação.





avaliação peso data assusntos




Prova 1 25% 25/11/2015 (quarta-feira) Introdução, análise léxica




Prova 2 25% 16/12/2015 (quarta-feira) Análise sintática 1




Prova 3 25% 14/03/2016 (segunda-feira) Análise sintática 2, análise semântica




Trabalhos 25%




Exame especial 23/03/2016 (quarta-feira) De acordo com a resolução CEPE 2.880




As atividades deverão ser submetidas através do site da disciplina no sistema Moodle do DECOM: http://www.decom.ufop.br/moodle/course/view.php?id=377

8 Código de honra do aluno

Este assunto deve ser muito simples. Não entregue trabalhos de outra pessoa como sendo seus, e não compartilhe suas soluções com outros alunos.

Você deve se sentir livre para discutir os problemas propostos e os projetos de programação com os colegas, mas todo trabalho que você submeter ao professor deve ser de sua própria autoria. Ou seja, você deve elaborar suas próprias soluções para os problemas e implementar seus projetos de programação você mesmo.

Se você discutir suas idéias com outros estudantes, não tem problema, mas faça uma observação sobre o mesmo na submissão do seu trabalho.

As atividades propostas são para trabalho individual.

9 Grupo de discussão

Existe um grupo de discussão sobre o conteúdo do curso no Google Groups que deverá ser utilizado ativamente pelos alunos e professor durante o curso. O professor poderá propor questões para discussão no grupo, bem como problemas para serem resolvidos.

Caberá aos alunos discutir as questões e problemas propostos, apontando soluções básicas e/ou soluções alternativas ou comentando o assunto. Os alunos poderão também propor algum problema ou levantar alguma questão para discurtir que julgar interessante.

O endereço do grupo de discussão é http://groups.google.com/group/bcc328.

Cada aluno deverá se inscrever imediatamente no grupo e começar a participar das discussões.

10 Ferramentas

Nas aulas será utilizada a linguagem Java para ilustrar as técnicas de construção de compiladores. Também serão utilizadas ferramentas auxiliares na implementação das diversas fases da compilação, como geradores de analisadores léxicos e geradores de analisadores sintáticos.

11 Aulas







#
Data
Assuntos

Atividades







1 14/10/2015 Qua 0. Apresentação do curso







2 19/10/2015 Seg 2. Análise Léxica (versão preliminar)
Exemplo: analisador léxico ad hoc
CS143 Lexical Analysis







3 21/10/2015 Qua (Continuação)







4 26/10/2015 Seg (Continuação)







5 28/10/2015 Qua Gerador de analisador léxico
Aula prática: Análise Léxica







01/11/2015 Seg (Feriado)







6 04/11/2015 Qua CS143 Syntax Analysis







12 Trabalhos




Assunto

Trabalho

Data entrega



Análise léxica ad hoc

assignments/bcc328.2015-_1.lexer.pdf
bcc328.2015-2.torben.pdf

04/11/2015 (quarta-feira)



Análise léxica de Panda

bcc328.2015-2.panda.pdf

16/11/2015 (segunda-feira)



13 Provas



Prova Soluções


20132 Prova 1
20132 Prova 2
20132 Prova 3


20141 Prova 1
20141 Prova 2


14 Notas e freqüências

Resultados de avaliações e freqüências

Última atualização: 2015-11-03 18:56:53 por José Romildo Malaquias.