3ª parte do projeto - construção de um reconhecedor sintático

Checklist para entrega (itens que serão avaliados):
  • Preparar um relatório conciso da implementação do analisador sintático, contendo os seguintes itens:
    • Introdução (explicar qual é o papel de um analisador sintático em um compilador);
    • Lista de submáquinas do APE (as submáquinas são geradas em http://mc-barau.herokuapp.com/):
      • Lista de transições (para cada submáquina, apresentar a saída gerada pelo aplicativo acima);
      • Lista de autômatos (utilize o JFLAP - http://www.cs.duke.edu/csed/jflap/ para gerar um autômato para cada submáquina gerada no aplicativo acima).
    • Comentários sobre a implementação (explicar como o analisador sintático foi implementado e integrado ao compilador).
  • Implementação:
    • Cada transição do analisador sintático (consumindo tokens ou empilhando/desempilhando submáquinas) deve estar mapeada à chamada de uma função void   semantico_tbd que imprime "TODO\n". Encare esta função como um trigger das transições do APE;
    • A saída do analisador sintático, neste momento, será uma sequência de "TODO"s impressos no console conforme as transições do APE ocorrem;
    • Implemente um autômato similar ao que foi implementado no Analisador Léxico, mas com a habilidade de empilhar/desempilhar outros autômatos (este será o Autômato de Pilha Estruturado).
  • Junto de todas as entregas, devem ser apresentadas as instruções para compilação do compilador com GCC.

    Entregar arquivo comprimido (zip) com documento PDF com questões respondidas, arquivo README.txt com instruções de compilação e diretório com código do compilador.

    Apenas um aluno da dupla precisa entregar.

    Tenham cuidado com o prazo. Haverá desconto de 10% da nota para cada dia de atraso na entrega (com limite de no máximo 2 dias de atraso).

    e-Disciplinas - Ambiente de apoio às disciplinas da USP