Ponto de Controle 2
Formulário
Nome da equipe
Grupo 7
Nomes dos integrantes e respectivas matrículas
- Maria Alice Bernardo Costa - 211063210
- Luis Eduardo Carneiro Miranda - 211063200
- Milena Baruc Rodrigues Morais - 211062339
- Nicolas Bomfim Dias Bandeira - 211062348
- Gabriel Saraiva Canabrava - 202045769
- Pablo Santos Costa - 180128817
Linguagem escolhida para tratamento pelo compilador/interpretador:
C++
Tipo do projeto
Interpretador
Metodologia adotada para o planejamento
Scrum
Número de sprints realizadas até o momento
4
Objetivos planejados para as sprints já concluídas
- Criação de um makefile
- Implementação da Tabela de Simbolos
- Implementação da Árvore de Sintaxe Abstrata
Principais entregas já implementadas no projeto
- Definição da linguagem-fonte (sintaxe/semântica básica)
- Análise léxica com Flex
- Início da análise sintática com Bison
- Casos de testes simples com tokens e regras básicas
Principais dificuldades enfrentadas e como foram resolvidas
- Durante a construção da AST, tivemos dificuldade para debugar o código, o que atrasou uma sprint. Após tentativas e pesquisas sem sucesso, pedimos ajuda ao professor, que encontrou o problema e nos ajudou a seguir com o projeto.
O que ainda falta implementar até a próxima entrega?
- Finalizar a AST para suportar todos os tipos de nós, incluir execução de if, while e funções, exibir erros semânticos detalhados e realizar testes mais amplos para ajustes e otimizações.
Link do repositório GitHub
https://github.com/Maliz30/Interpretador_Cpp
O repositório está atualizado com os últimos commits?
Parcialmente (Explicar abaixo)
Comentários adicionais sobre o repositório
Como a AST ainda está em desenvolvimento e não se encontra totalmente estável, optamos por mantê-la em uma branch separada: (https://github.com/Maliz30/Interpretador_Cpp/tree/AST). Além disso, nossa sprint atual (Sprint 4: 15/05 a 04/06) ainda está em andamento, portanto, novos commits ainda serão realizados nos próximos dias para incluir os entregáveis planejados. Dentre os entregáveis da sprint 4 que serão integrados ao repositório estão a finalização da função recursiva da AST, fluxos de controle e a verificação semântica de variáveis, tipos e chamadas de funções.
O código já implementa as seguintes partes do compilador/interpretador?
- Analisador léxico
- Analisador sintático
- Analisador semântico
- AST e tabela de símbolos
O código já foi testado?
Parcialmente (Explicar abaixo)
Casos de teste implementados
Testes iniciais focaram em reconhecimento de tokens e regras sintáticas básicas. Incluímos casos para: exibição "Hello World", estruturas condicionais (if/else), laços de repetição (for/while) e operações aritméticas com entrada/saída de dados.
Principais melhorias técnicas implementadas desde o último checkpoint
Desde o último checkpoint, implementamos a criação de um Makefile, a Tabela de Símbolos, e iniciamos a implementação da Árvore de Sintaxe Abstrata (AST). Também aprimoramos a análise sintática com Bison.
Resumo objetivo do progresso da equipe
Entre os pontos de controle 1 e 2, enfrentamos atrasos no desenvolvimento do interpretador, mas solucionamos os problemas e replanejamos as atividades para seguir o cronograma e garantir a entrega final com folga no prazo.
Quais os principais pontos que desejam destacar na apresentação?
Desde o último checkpoint, implementamos a criação de um Makefile, a Tabela de Símbolos, e iniciamos a implementação da Árvore de Sintaxe Abstrata (AST). Também aprimoramos a análise sintática com Bison.
Histórico de versões
Versão | Data | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|
1.0 | 26/06/2025 | Documentação do Ponto de Controle 2 | Milena Baruc | Maria Alice e Luis Miranda |