Sprint 4 — Estruturas de Repetição: Para (23/04 a 29/04)
| Matrícula | Nome | Nick no GitHub | 📸 |
|---|---|---|---|
| x | x | x |
Objetivo:
- Adicionar suporte às estruturas de repetição
para,de,ate,fimparae operadores relacionais, gerando código C válido.
🧪 Funcionalidades Concluídas
🧩 Palavras-chave adicionadas
paradeatefimpara
🚀 Como testar as novas funcionalidades ?
1. Compile o compilador com o Makefile
make
Isso irá rodar
flex,bisonegccautomaticamente para gerar o bináriocompilador.
2. Execute com um arquivo de exemplo
./compilador < exemplos/exemplo4.pg
O compilador irá gerar um arquivo chamado saida.c com o código equivalente em C.
3. Compile o código C gerado
gcc saida.c -o programa
./programa
🧹 Limpando arquivos gerados
Caso necessário, você pode executar o comando abaixo para remover todos os arquivos gerados automaticamente (como lex.yy.c, y.tab.c, y.tab.h, saida.c, etc.):
make clean
make clean
✅ Critérios de aceitação
| Critério | Descrição | Status |
|---|---|---|
| 🔤 Laços de repetição são reconhecidos e compilados corretamente. | Tokens para para, de, ate, fimpara e operadores de repetição |
✅ |
| 🧾 saida.c funcional | Quarto exemplo exemplo4.pg, que teste as funcionalidades implementadas, compilado e executado corretamente. |
✅ |
📁 Arquivos modificados
lex.l: Adição de tokens relacionais e palavras-chave de decisãoyacc.y: Regras novas para blocos condicionais e operadores lógicosexemplos/exemplo4.pg: Script Portugol usado como teste da sprint
Conclusão
A Sprint 2 foi concluída com sucesso, consolidando a base do compilador com controle de fluxo condicional. O sistema agora suporta decisões simples e compostas, sendo possível testar condições usando operadores relacionais com tradução correta para C.