Sprint 3 — Estruturas de Repetição (enquanto ... faca ... fimenquanto) (13/04 - 19/04)
| Matrícula | Nome | Nick no GitHub | 📸 |
|---|---|---|---|
| x | x | x |
Objetivo:
- Adicionar suporte à estrutura de repetições
enquanto,facaefimenquantoe operadores relacionais, gerando código C válido com blocoswhile.
🧪 Funcionalidades Concluídas
🧩 Palavras-chave adicionadas
enquantofacafimenquanto
🚀 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/exemplo3.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 enquanto, faca e fimenquanto e operadores de repetição |
✅ |
| 🧾 saida.c funcional | Arquivo C gerado compila e executa corretamente | ✅ |
📁 Arquivos modificados
lex.l: Adição de tokens relacionais e palavras-chave de decisãoyacc.y: Regras novas para blocos de repetição e operadores lógicosexemplos/exemplo3.pg: Script Portugol usado como teste da sprint
🔚 Conclusão
A Sprint 3 foi concluída com sucesso, consolidando a base do compilador com controle de fluxo de repetição. O sistema agora suporta repetições simples e compostas, sendo possível testar condições usando operadores de repetição com tradução correta para C.