Assinale a alternativa que identifica CORRETAMENTE as catego...
(COOPER, Keith, D.; TORCZON, Linda. Construindo Compiladores. 2. ed. Rio de Janeiro. 2014.)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - Elimina computações redundantes, especializa computações e elimina códigos inúteis.
1. Tema central da questão:
A questão aborda a numeração de valor local, uma transformação importante no processo de otimização local realizado pelos compiladores, conforme apresentado por Cooper e Torczon em "Construindo Compiladores". Esse tema é relevante porque envolve técnicas que visam melhorar a eficiência do código gerado por meio de análises e transformações automáticas.
2. Resumo teórico:
A numeração de valor local é uma técnica que mapeia cada expressão ou valor computado a um identificador único dentro de um bloco básico. Ela permite que o compilador identifique expressões repetidas, remova cálculos redundantes e otimize a execução, resultando em programas menores e mais rápidos. Segundo Cooper e Torczon (2014), os principais efeitos dessa transformação são:
- Eliminação de computações redundantes
- Especialização de computações
- Eliminação de códigos inúteis
3. Justificativa da alternativa correta:
A alternativa B está correta porque reúne exatamente os três efeitos clássicos citados na literatura:
- Eliminação de computações redundantes: Expressões já calculadas não são recomputadas.
- Especialização de computações: Certos cálculos podem ser simplificados ou otimizados para casos específicos.
- Eliminação de códigos inúteis: Instruções desnecessárias são removidas do código.
Esses pontos são abordados diretamente por Cooper e Torczon (2014) e refletem a aplicação prática da técnica.
4. Análise das alternativas incorretas:
- A: “Movimenta códigos” não é efeito típico da numeração de valor local – trata-se de reordenação, não otimização direta.
- C: “Elimina códigos inalcançáveis” refere-se a outra técnica de otimização (eliminação de código morto), não à numeração de valor local.
- D: Faltou a eliminação de códigos inúteis, um dos efeitos essenciais.
- E: Não menciona eliminação de computações redundantes, que é central na técnica.
5. Estratégias de interpretação:
Atente para palavras-chave como “eliminar redundância”, “especializar” e “inútil” – elas direcionam para os efeitos descritos em literatura técnica. Desconfie de termos fora do contexto ou que envolvem outras técnicas de otimização.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo