Compiladores 1 - Semana 9: Prática
Otimização de Código - Introdução
Objetivos da Aula Prática
- Implementar técnicas básicas de otimizaçãao de código
- Integrar o protótipo Flex+Bison ao fluxo de construção
- Automatizar a verificação através de testes em
tests/*.in
- Analisar o impacto das otimizações no código gerado
Configuração do Projeto
Estrutura do Makefile:
# Variáveis essenciais
CC = gcc
FLEX = flex
BISON = bison
CFLAGS = -Wall -O2
LDFLAGS = -lfl
# Arquivos fonte
SRC = main.c
LEX = scanner.l
YACC = parser.y
TARGET = optimize
TESTS = tests/*.in
Comandos principais:
make # Compila o otimizador (gera executável 'optimize')
make test # Executa todos os testes automatizados
make clean # Limpa arquivos gerados
Fluxo de Trabalho
Compilação:
make
Execução de Testes:
make test
Exibe para cada teste em tests/
:
- Nome do caso de teste
- Entrada fornecida
- Saída do otimizador
Adição de Novos Testes:
- Criar arquivos
.in
no diretóriotests/
- Padrão:
testeXX.in
(onde XX é número sequencial)
Tarefas Práticas
Análise de Resultados:
- Executar
make test
e examinar as saídas - Verificar a correção das otimizações aplicadas
Expansão do Projeto:
- Implementar novas técnicas de otimização
- Adicionar casos de teste representativos
Gerenciamento de Código:
git add .
git commit -m "Implementa otimizações básicas"
git push origin main
Desenvolvimento Contínuo:
- Avançar na implementação do trabalho em equipe
- Documentar as otimizações implementadas
Tabela de Versionamento
Versão | Data | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|
1.0 | 01/06/2025 | Criação da atividade de desenvolvimento 9 | Júlio Cesar |