Trabalho Compilador Mini-Pascal

Mini-Pascal é um subconjunto dos recursos e possibilidades de construções da linguagem Pascal.

A linguagem Mini-Pascal adotada neste trabalho deve seguir a sintaxe descrita aqui.

Dois exemplos de programas em Mini-Pascal estão aqui e aqui.

Objetivo: Implementar utilizando o analizador de sua preferência a geração de código de três endereços para a linguagem Mini-Pascal.

O que deve ser implementado?

Sugestão de metodologia?


Qual o Cronograma (Novo!!)?

  1. O que foi implementado
  2. O que faltou implementar
  3. A sintaxe para execução da ferramenta
  4. Bugs/Falhas detectados e não corrigidos
  5. Dificuldades encontradas durante o desenvolvimento do trabalho
  6. Conclusões

Como será a avaliação?

Dicas/Sugestões

Perguntas frequentes:

P: Se faltar no dia do checkpoint, fica com 0?

R: Há duas possibilidades: 1) Se souber, previamente, que irá faltar em dia de checkpoint, a dupla deve avisar ao professor que irá agendar um horário anterior ao dia do checkpoint. 2) caso a falta seja devido a um imprevisto, a dupla deve procurar o professor e deve justificar a ausência e, após isso, o professor marcará um horário para a entrevista. Faltas sem justificativa, aí sim, terão 0 como nota do checkpoint.

P: As notas serão as mesmas para os componentes da dupla?

R: Não. As entrevistas serão com a dupla mas a nota é individual. O fato de um membro da dupla faltar em dia de checkpoint não implica que a entrevista será cancelada. Por isso, é extremamente importante que ambos dividam o trabalho e, continuamente, atualizem-se quanto ao desenvolvimento do mesmo.

P: O que devo privilegiar: implementar todo o conteúdo de uma etapa ou implementar todas as etapas?

R: Se não houver tempo hábil, é melhor implementar o mínimo necessário em uma etapa e partir para a próxima. A contribuição deste trabalho para vocês é justamente a experiência prática com relação à geração de código intermediário.

P: O que fazer em caso de dúvidas no entendimento do trabalho (situações não cobertas pela especificação da linguagem, ausência de detalhes na atribuição das tarefas, etc.)?

R: Procure o professor o quanto antes: pessoalmente ou enviando mensagem eletrônica com subject: "Dúvidas: Trabalho1 - Compiladores II". Nesse último caso, procure discorrer sucintamente a sua dúvida. Além disso, aproveite bem os encontros de checkpoint para retirar suas dúvidas, sugerir alterações na atribuição do trabalho, justificar suas escolhas. Isso contará na sua participação e dedicação do trabalho.

P: Estou tendo problemas com o outro componente da dupla. O que devo fazer?

R: Uma das motivações desta tarefa é justamente melhorar a habilidade de trabalho em grupo. Nesse sentido, a dupla deve conversar bastante, procurando resolver todos os conflitos que porventura possam surgir. Saber ouvir opiniões, discutir idéias educadamente, ceder sobre pontos de vistas e dividir tarefas é o que aprendemos de melhor em um trabalho em grupo. Certamente, cada membro pode contribuir positivamente  para a nota do outro colega da dupla. Mas,  caso um dos membros "desista" do trabalho. O outro membro pode continuar a implementação que o trabalho será avaliado levando isso em consideração.

P: Se obter nota máxima em todos os itens da avaliação ficarei com 11.5?

R: Não. A nota máxima é 10! Além disso, esses pontos não são cumulativos.