Skip to content

Relatório do Compilador PYtoC

Pontos Positivos

  • Integração entre Flex e Bison funcionando corretamente.
  • O compilador detecta erros de sintaxe.
  • Emite mensagens de erro com tratamento mínimo de falhas (demonstra a existência de uma estrutura de parsing).
  • Reconhece palavras-chave do Python (indicando que o analisador léxico está mapeando tokens corretamente).
  • Existem tokens definidos, regras gramaticais e lógica de conversão (ainda que incompleta).

Dificuldades e Soluções

  • Parser, AST e Tabela de Símbolos: Refinamos as regras gramaticais, incorporando mecanismos para construção e vinculação dinâmica dos nós, além de integrar a geração da tabela de símbolos durante a análise sintática. Isso permitiu maior flexibilidade e precisão na representação da estrutura do código-fonte.
  • Escopo: Reestruturamos o planejamento do projeto, priorizando a implementação das funções críticas relacionadas ao controle de escopo, o que facilitou a identificação e resolução de conflitos entre variáveis e funções em diferentes contextos.

Próximas Entregas

  • Implementar a AST (Árvore Sintática Abstrata) e a Tabela de Símbolos.
  • Aprimorar as mensagens de erro para maior clareza e precisão.
  • Desenvolver testes automatizados para garantir a robustez do compilador.
  • Adicionar verificação de tipos e escopos.
  • Ampliar e refinar as regras gramaticais no Bison.
  • Melhorar a análise semântica para maior fidelidade ao Python.

Entregas Implementadas

  • Implementação da AST (Árvore Sintática Abstrata) e da Tabela de Símbolos.
  • Aprimoramento das mensagens de erro para maior clareza.
  • Criação de testes automatizados para validação do compilador.
  • Implementação da verificação de tipos e escopos.
  • Expansão e refinamento das regras gramaticais no Bison.
  • Melhoria da análise semântica para maior aderência ao Python.
  • Parcial de otimização implementada.
  • Parcial de geração de código implementada.