Voltar para a pagina inicial

Backlog do Projeto

O objetivo deste projeto é construir um compilador que recebe um programa escrito em um subconjunto de JavaScript e produz código Python equivalente e funcionalmente correto. O projeto é desenvolvido no contexto da disciplina de Compiladores 1, aplicando a metodologia ágil Scrum com sprints semanais. Todas as decisões técnicas são documentadas e justificadas ao longo do desenvolvimento.

Esta página consolida todas as issues do projeto, correlacionando-as com as sprints, seu status atual, prioridade e link direto para o GitHub.

Status: Concluída Em andamento Planejada Bloqueada   Prioridade: Alta Média Baixa

Resumo por Sprint

Sprint Período Objetivo Principal Issues Status
Sprint 1 25/03 a 01/04 Organização do grupo e estudo de compiladores Concluída
Sprint 2 02/04 a 08/04 Decisões técnicas e analisador léxico #2, #6 Concluída
Sprint 3 09/04 a 15/04 Analisador sintático, testes e tabela de símbolos #1, #3, #5 Concluída
Sprint 4 16/04 a 22/04 Refinamento de Flex/Bison e ajustes anteriores #3, #5 Em andamento
Sprint 5 23/04 a 29/04 Continuação do parser e tabela de símbolos Planejada
Sprint 6 30/04 a 06/05 AST e refinamento da tabela de símbolos Planejada
Sprint 7 07/05 a 13/05 Geração de código intermediário e otimizações Planejada
Sprint 8 14/05 a 20/05 Testes finais e validação Planejada
Sprint 9 21/05 a 27/05 Apresentação e entrega final Planejada

Issues por Sprint

Filtre as issues por sprint ou visualize todas de uma vez.

Sprint 1 25/03 – 01/04 Concluída

Entender o projeto, identificar o problema e iniciar organização do grupo, visando estudo de compiladores e interpretadores para escolha do projeto.

Sprint 2 02/04 – 08/04 Concluída

Tomadas as decisões técnicas e início do desenvolvimento, implementando o analisador léxico com Flex.

Sprint 2

Implementação do analisador léxico usando Flex, definindo os tokens para palavras-chave, operadores, literais e identificadores do subconjunto de JavaScript.

#6 Documentação

Concluída Alta
Sprint 2

Produzir e manter a documentação principal: visão geral, pipeline de compilação, estrutura de pastas, tokens planejados, instruções de build/execução/teste e próximos passos. Explicar integração entre lexer.l, parser.y e parser.tab.h

Sprint 3 09/04 – 15/04 Concluída

Implementação do analisador sintático, início dos testes e tabela de símbolos.

Sprint 3

Definição da gramática livre de contexto com Bison para o subconjunto de JavaScript. Integração com lexer.l via parser.tab.h.

Sprint 3

Criação da estrutura de dados em C para armazenar identificadores, tipos e escopos durante a análise semântica inicial.

Sprint 3

Elaboração de arquivos de entrada válidos e inválidos para testar o lexer e o parser, cobrindo os casos do subconjunto JavaScript definido.

Sprint 4 16/04 – 22/04 Em andamento

Refinar o uso de Flex e Bison dentro do projeto, e ajustar implementações anteriores.

Sprint 4

Definição da gramática livre de contexto com Bison para o subconjunto de JavaScript. Integração com lexer.l via parser.tab.h.

Sprint 4

Criação da estrutura de dados em C para armazenar identificadores, tipos e escopos durante a análise semântica inicial.

Sprint 5 23/04 – 29/04 Planejada

Continuação do parser e implementação completa da tabela de símbolos.

Sprint 6 30/04 – 06/05 Planejada

Implementar AST e refinar tabela de símbolos.

Sprint 7 07/05 – 13/05 Planejada

Implementar geração de código Python e otimizações básicas.

Sprint 8 14/05 – 20/05 Planejada

Testes finais com base de casos válidos e inválidos, e polimento geral.

Sprint 9 21/05 – 27/05 Planejada

Apresentação final, entrega e retrospectiva do projeto.