Sprint 5 — Tipagem e Robustez + P1 (27/04 - 03/05)
Matrícula | Nome | Nick no GitHub | 📸 |
---|---|---|---|
211061977 | João Victor Costa Andrade | jvcostta |
Objetivo:
- Ampliar o suporte para novos tipos de dados
inteiro
,real
ecaracter
e corrigir a regra de declaração de variáveis no analisador sintático.
🧪 Funcionalidades Concluídas
- Suporte mais robusto para tipagem de dados
inteiro
,real
ecaracter
e regra de declaração corrigida
🚀 Como testar as novas funcionalidades ?
1. Compile o compilador com o Makefile
make
Isso irá rodar
flex
,bison
egcc
automaticamente para gerar o bináriocompilador
.
2. Execute com um arquivo de exemplo
./compilador < exemplos/exemplo5.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 |
---|---|---|
🔤 Declaração | Declaração de variáveis com tipo funcionando corretamente. | ✅ |
🧠 Compilação | Compilação correta no C (int, float, char). | ✅ |
🧪 Exemplo testado | Arquivo exemplo5.pg executado e traduzido 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/exemplo5.pg
: Script Portugol usado como teste da sprint
Conclusão
- A Sprint 5 foi concluída com sucesso, consolidando a ampliação do suporte a novos tipos de dados —
inteiro
,real
ecaracter
— e a correção da regra de declaração de variáveis no analisador sintático, tornando a análise mais robusta e alinhada à sintaxe da linguagem Portugol.