MC011 - Laboratório de Compiladores
Primeiro semestre de 2008
Turmas
A e B
Avisos |
---|
Data |
Aviso |
02/07 |
As Notas finais do curso de MC011 estão disponíveis! Boas férias! |
26/06 |
As Notas do projeto 2 estão disponíveis! A coluna peso da entrega menor que 100% indica penalidades por atraso. |
25/06 |
Lembrando que hoje é o último dia para entrega do projeto 3. O projeto será aceito até sexta com penalidade de 20% e até segunda com penalidade de 30%. |
28/05 |
Foi liberado um pacote com os arquivos .class dos diretórios reg_alloc e x86 do compilador para ajudar na implementação da parte 3. Esse pacote deve substituir os arquivos .class gerados pela implementação da parte 2 para aqueles que não conseguiram fazê-la funcionar completamente. Baixe o pacote na seção de Projetos |
12/05 |
Alguns alunos enviaram dúvidas sobre como usar a biblioteca de runtime para compilar executáveis. Veja o procedimento abaixo. |
12/05 |
Procedimento para gerar e rodar um executável a partir do assembly gerado pelo seu compilador: 1) javac main/Main.java 2) java main/Main arquivo.java 3) nasm -felf minijava.asm 4) gcc -c runtime/runtime.c 5) gcc runtime.o minijava.o -o executavel 6) executavel |
12/05 |
Notas do Projeto 1 estão disponíveis. |
07/05 |
Especificação do Projeto 3 está disponível. Aula para discussão da especificação no dia 21/5 as 13h, sala 301. |
30/04 |
Nova data de Entrega para o Projeto 2: O projeto 2 poderá ser entregue, sem penalidades, até o dia 14/5. Notem que a data de entrega do projeto 3 NÃO será adiada. |
09/04 |
Novo pacote: O pacote para implementação do projeto 2 está disponível. Ele contém uma implementação do semântico compilada, para aqueles que não desejam usar seu próprio semântico na seqüência do curso. |
02/04 |
Entregas Recebidas: A lista de grupos cadastrados será atualizada com a confirmação do recebimento das submissões. Isto não está automatizado, será atualizado quinta(03), e depois segunda e terça para as entregas com atraso. |
02/04 |
Cuidado! Minijava, conforme especificado no apêndice do livro, não aceita métodos de mesmo nome com assinaturas diferentes. Por isso o teste 1/4 é considerado ERRADO. |
02/04 |
Especificação do Projeto 2:O projeto 2 será apresentado na próxima quarta (9/4) no horário das 13h na sala 301. Uma especificação resumida também pode ser encontrada na seção de projetos nesta página, e mais detalhes estão na especificação descrita nos capítulos 9 e 10 do livro texto. |
02/04 |
Horário das submissões: As entregas são aceitas até hoje as 23:59:59 (GMT -3) com sendo no prazo. O mesmo valerá para sexta e segunda. Horário controlado pela chegada do email em minha caixa postal. |
02/04 |
Teste 1/11: Alguns alunos me procuram com dúvidas nesse teste. Ele está CORRETO. |
02/04 |
Conteúdo Esperado do Relatório: Conforme dito em sala de aula, o que espero do relatório é uma descrição da sua implementação, principalmente dos pontos críticos. Exemplos são: tratamento de herança cíclica, o que você tratou em cada fase da análise (assumindo que você seguiu a recomendação de fazer em duas fases), qualquer coisa que você tenha alterado no pacote fora do analisador semântico e justificativa do motivo da alteração, erros que você não conseguiu resolver e alguma eventual funcionalidade extra que você tenha incluído. Não há necessidade de colocar o código fonte, a menos de pequenos pedaços que ajudem a esclarecer alguma coisa, se necessário. O arquivo pode ser texto puro ou pdf e deve obrigatoriamente ser entregue junto com o pacote para não acarretar penalidades de atraso. |
31/03 |
Regras para entregas de projeto com atraso: Até sexta-feira (4/4) os trabalhos serão corrigidos com penalidade de 20% da nota. Até segunda-feira (7/4) os trabalhos serão corrigidos com penalidade de 30% da nota. Não serão aceitas entregas a partir de 7/4. |
25/03 |
Faltam 7 dias para a entrega do primeiro projeto!!! |
25/03 |
Os testes 35 e 37 (correção da digitação, estava 33)do diretório semant estavam indicando o resultado errado em seus comentários iniciais. O problema foi corrigido hoje. |
19/03 |
Vários alunos estão obtendo 30 erros quando tentam compilar o pacote sem fazer alteração alguma na área do IC-3. Aparentemente você precisa definir o diretório raiz do pacote como classpath para o compilador. Isto pode ser feito com javac -cp . main/Main.java. Mesmo após esse procedimento alguns continuam obtendo 15 warnings que não influenciam no funcionamento do compilador. Este comportamento nâo ocorreu em máquinas fora do IC-3 segundo constatado por alguns alunos. E provável que seja devido a diferentes versões de JDK. |
19/03 |
Para os alunos que ainda estão procurando uma dupla e não conhecem todos os participantes da disciplina. Veja a lista com todos os matriculados |
19/03 |
Todos os grupos, de no máximo 2 componentes, devem ser cadastrados por email ANTES da entrega dia 2/4. Verifique se seu grupo está na lista abaixo!!! |
19/03 |
A lista dos grupos já cadastrados na disciplina está disponível aqui. Indique claramente o numero do seu grupo no relatório da entrega!!! |
06/03 |
Mais um link para ajudar a entender o padrão de visitors, usado pelo Appel no analisador semântico: http://en.wikipedia.org/wiki/Visitor_pattern |
06/03 |
É importante a leitura dos capítulos 4 e 5 para a elaboração do projeto 1. O capítulo 4 tem uma explicação sobre os métodos visitors usados no analisador semântico e sobre a representação intermediária dos programas. |
27/02 |
Primeira aula, explicação de como funcionará a matéria e apresentação do primeiro projeto |
27/02 |
Os alunos deve se dividir em duplas para a realização do projeto. |
Turma A: Quartas: 14:00 - 16:00 Sala: IC-302 Turma B: Quartas:: 16:00 - 18:00 Sala: IC-302 |
Professor: Sandro Rigo | |||
A implementação será dividida em três partes :
|
||||
Bibliografia |
---|