Departamento | Computação |
Unidade | Instituto de Ciências Exatas e Biológicas |
Carga horária semanal | 4 teóricas + 0 práticas = 4 total |
Duração em semanas | 18 |
Carga horária semestral | 72 horas-aula |
Cursos | Ciência da Computação: obrigatória: 6o período |
Torben
Ægidius Mogensen. Introduction to Compiler Design. Ingles. Springer, 2011. ISBN: 978-0-85729-828-7.
URL: http://www.springer.com/computer/swe/book/978-0-85729-828-7. Livro-texto.
Andrew W Appel. Modern Compiler Implementation in Java. Ingles. Cambridge University Press, 1998.
ISBN: 0-521-58388-8. URL: http://www.cs.princeton.edu/~appel/modern/java/.
Alfred V Aho, Monica S Lam, Ravi Sethi e Jeffrey D Ullman. Compiladores: Princípios, Técnicas e
Ferramentas. Portugues. 2a ed. Pearson, 2007. ISBN: 9788588639249. URL:
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools.
Ao final do curso é esperado que o aluno:
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 final, e a data de realização da avaliação.
avaliação | peso | data | assusntos |
Prova 1 | 25% | 13/11/2013 (quarta-feira) | Introdução. Análise léxica |
Prova 2 | 25% | 18/12/2013 (quarta-feira) | Análise sintática |
Prova 3 | 25% | 12/02/2013 (quarta-feira) | Análise semântica |
Trabalhos | 25% | ||
Exame especial | 19/02/2013 (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=243
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.
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.
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.
Data | Assuntos | Atividades |
|
07/10/2013 | Seg | 0. Apresentação do curso |
|
09/10/2013 | Qua | 2. Análise Léxica (versão preliminar) |
|
14/10/2013 | Seg | (Continuação) |
|
16/10/2013 | Qua | (Continuação) |
|
21/10/2013 | Seg | (Continuação) | |
23/10/2013 | Qua | (Continuação) | |
28/10/2013 | Seg |
|
|
30/10/2013 | Qua | (Continuação) |
|
04/11/2013 | Seg | Nullable, first e follow |
|
06/11/2013 | Qua | (Continuação) |
|
11/11/2013 | Seg | Análise sintática ascendente |
|
Assunto | Trabalho | Data entrega |
Análise léxica ad hoc | 20/10/2013 (domingo) | |
|
Resultados de avaliações e freqüências