Últimas notícias

 

24 de Junho (19h)

           

            No terceiro trabalho, pode-se considerar que apenas os caracteres A-Z e a-z podem ser inseridos pelo comando “add”. Isto simplificará um pouco o trabalho.

 

 

24 de Junho

 

            Em relação ao terceiro trabalho, entregue apenas o código que VOCÊ fez. Não me interessa o código produzido pelo CUP/JLex. Não se esqueça das classes da ASA.

           

            Os alunos Rodrigo Scoralick Murta e Flávio Augusto devem me procurar para comentar a revisão da primeira prova. Eu fiquei de aumentar a nota destes dois alunos e preciso de alguns esclarecimentos a respeito das provas.

 

            Eu não estarei na minha sala na maior parte da Quarta feira. Mas com certeza estarei depois de 17:40-18h. Ficarei enquanto houver alunos com dúvidas a respeito da matéria da prova.

 

23 de Junho (16:30)

 

      Acrescentei o item d) na matéria da prova. Veja abaixo.

 

23 de Junho

 

            A matéria da prova da segunda prova é:

a) capítulos 1, 4 e 7 da apostila antiga (em Português);

b) gramáticas e analisadores LR(0);

c) capítulo 9 da apostila. Este capítulo requer alguns conhecimentos do capítulo 8.

d) expressões regulares (ER), a representação gráfica de ER e a implementação de ER em Java.

 

Os itens a) e b) devem valer entre 11 e 12 pontos na prova. O item c) entre 1 e 2 pontos. É possível que caia alguma questão extra (mais extra ainda) baseada no site

                          http://www.gimpel.com/html/bugs.htm

mas não tenho certeza (não fiz as provas).

 

            Quanto às gramáticas LR(0), só poderei pedir conceitos e exercícios bem básicos, já que não estudamos estas gramáticas em profundidade.

            CUP e JLex não caem. Mas expressões regulares podem cair.

 

10 de Junho

 

            As notas do segundo trabalho já estão disponíveis.

 

9 de Junho

 

            Não teremos aula dias 10 e 12 de Junho.

 

6 de Junho

 

            Modifiquei ligeiramente o terceiro trabalho. Agora, os comandos possuem mais de uma letra. Assim, o comando ‘a’ agora se chama “add”.

 

23 de Maio (20h)

 

            A questão 6 da prova da turma de Quinta foi tirada da página

                          http://www.gimpel.com/html/bugs.htm

Vale a pena olhar TODOS os erros que ela apresenta.

 

23 de Maio

 

            Os trabalhos extras já estão disponíveis.

 

            Na definição do trabalho 2, há uma observação sobre o comando foreach:

 

o comando “foreach” do exemplo acima percorre o vetor associando cada elemento à variável x. Assim, todos os elementos do vetor v são impressos na saída padrão;

 

Então, 

   foreach x in v do

      comando

deve geral em C algo do tipo

   for ( ... ) {

      x = v[i];

      comando

   }

O que torna errado utilizar o comando foreach para ler os elementos de um vetor, por exemplo.

 

20 de Maio

 

            Havia dois erros no manual citado no dia 19/05 que foram corrigidos.

            A data de entregue do segundo trabalho foi adiada para o dia 30 de Maio. O terceiro trabalho deverá ser entregue até o dia 27 de Junho.

 

19 de Maio

 

            Veja em Apostila e artigos um pequeno manual de como converter expressões regulares em autômatos finitos.

            O terceiro trabalho já está disponível.

 

15 de  Maio

 

            No dia 12 de Maio, escrevi que uma conferência semântica foi esquecida na definição do trabalho 2:

- se os operandos de uma expressão são compatíveis com o operador. Ex:  (+ (> 4 5) 2)  está incorreto.

Esqueça esta conferência. Não temos o tipo boolean nesta linguagem. Comparações resultam em inteiros. Assim,

      (+ (> 4 5) 2)

está correto e resultaria em (+ 0 2), que é 0.

           

14 de Maio

           

            As observações sobre a apostila continuam muito genéricas. Elas falam em “deveria existir exemplos de geração de código” e “A ASA deveria ser melhor explicada” sem dizer onde na apostila eu deveria modificar. Fico sem saber onde, já que há exemplos de geração de código na apostila e a ASA é explicada em detalhes.

            Por favor, mandem-me os trabalhos extra e as observações sobre a apostila em formato TEXTO (.txt).

 

13 de Maio (17h)

 

            A prova da turma A feita hoje já está na lista de provas deste semestre. Com a resolução (parcial).

 

 

12 de Maio (19h)

 

            O trabalho extra poderá ser entregue até às 11 horas da próxima Segunda feira, dia 19.

 

12 de Maio (14h)

 

            No segundo trabalho, pode-se ter comentários começados por #. Isto foi acrescentado alguns dias depois de eu ter colocado o trabalho na página.

            Há um erro no exemplo dado no trabalho dois: a declaração de um vetor deve ser

        var v : integer[] = { 2, 3, 5, 7, 11, 13, 17, 19 }

e não

        var v : []integer = { 2, 3, 5, 7, 11, 13, 17, 19 }

como está na página.

            Uma conferência semântica foi esquecida na página:

- se os operandos de uma expressão são compatíveis com o operador. Ex:  (+ (> 4 5) 2)  está incorreto.

 

 

9 de Maio

           

            Poucas pessoas me enviaram observações sobre a apostila. E mesmo assim as observações têm sido muito genéricas como “deveria haver explicações mais detalhadas”. Não diz aonde as explicações deveriam melhorar. Seja bem específico, citando a página e o parágrafo a que você se refere.

 

7 de Maio

 

            Grupos de até duas pessoas poderão fazer um trabalho que valerá até 10 pontos a serem acrescentados na nota da primeira prova. Este trabalho será avaliado com o seguinte critério: se ele for bom, valerá 1 ponto. Se for muito bom, valerá 2 pontos. Se for muito muito bom, valerá 3. Se for muiton bom, valerá  n+1 pontos, até um máximo de 10. Um trabalho muiton bom deve ser 10 vezes melhor do que um muiton-1 bom. Ou seja, a sua nota vale log10E, onde E é a excelência do trabalho. A descrição do trabalho está aqui. Os trabalhos deverão ser enviados a mim até o dia 13 de Maio às 18 horas por email. No subject da mensagem, coloque “cc03”, sem as aspas. Colocarei os melhores trabalhos na página da disciplina. Se você não quiser que o seu nome apareça, deixe isto claro no seu email.

 

28 de Abril

 

           Um bom livro de Java acabou de ser lançado:

                Carlos Camarão e Lucília Figueiredo. Programação de Computadores em Java. LTC, 2003.

O livro possui uma página em

            http://www.dcc.ufmg.br/~camarao/ipcj

Há transparências para parte do livro.

 

24 de Abril

 

           Não pude resistir: vejam esta piadinha. Não se ofendam.

 

11 de Abril

 

            Um guia de pronúncia das palavras em Inglês mais comuns no curso já está disponível na página Pronúncia em Inglês.

            Eu pedi a vocês que fizessem observações sobre o que poderia ser melhorado nas apostilas deste curso. Estou aguardando o retorno.

             Já temos uma nova lista de exercícios, a terceira. Ela trata dos compiladores 8, 9 e 10, mas muitas perguntas se aplicam também aos compiladores anteriores.

 

            Há um novo IDE para Java em http://www.netbeans.org/. Não o conheço, mas foi bem recomendado. E é grátis, sem restrições.

 

7 de Abril

 

            O trabalho dois já está disponível. Notem que a folha de capa para ele é diferente da capa para o trabalho 1.

 

1 de Abril

 

            Dêem uma olhada na linguagem Whitespace. O próximo compilador será feito nesta linguagem e não em Java. É bom começar a aprendê-la desde já.

 

31 de Março

 

            Dêem uma olhada nestes velhos programas em C:

 

                 Este programa compilava em um antigo compilador Borland.

                 Este ainda compila.

                 Este também.

 

27 de Março

 

            Pegue a definição do primeiro trabalho de 2002 e faça o item c) deste trabalho até a próxima aula. Não utilize o computador, faça apenas em papel.

 

26 de Março

           

            Fiz pequenas modificações nos compiladores disponíveis na página. Quem baixou os compiladores qualquer dia antes de 26 de Março deve baixá-los novamente. Apesar das modificações serem minúsculas, seria bom que todos tivessem exatamente as mesmas versões dos compiladores.

            A apostila “Learning Compiler Construction by Example” já está disponível. Veja a observação sobre ela no dia 25 de Março.

 

 25 de Março

 

            Eu deixei no Xerox da Produção duas apostilas: “Construção de Compiladores” e “Learning Compiler Construction by Example”. Esta última não está completa. Farei algumas modificações nas últimas páginas e a apostila completa deve estar disponível até Quinta. Quem já imprimiu esta apostila terá que reimprimir todas as páginas entre 20 e 29.

 

            Modifiquei os compiladores que estão disponíveis na página. Quem baixou os compiladores antes do dia 24/03 deve baixá-los novamente.