← Questões de Programação

Programação · FGV · 2025

Questão comentada de Programação

O analista Pedro foi incumbido de analisar o mau funcionamento do compilador de software CMP+, utilizado no MPU. O CMP+ está apresentando erros na fase da compilação na qual é gerada a árvore de derivação, que guarda uma representação hierárquica do código-fonte. Sabendo disso, Pedro deve concentrar sua análise do CMP+ na fase de:

Gabarito: B

Em um compilador, cada fase tem uma função bem definida. Primeiro, a análise léxica lê o código-fonte e separa os símbolos em tokens, como palavras, números e operadores. Depois vem a análise sintática, que organiza esses tokens conforme a gramática da linguagem e monta a árvore de derivação, também chamada de árvore sintática. É justamente essa árvore que representa a estrutura hierárquica do programa. Se o enunciado diz que o compilador está com erro na fase em que é gerada a árvore de derivação, você deve pensar imediatamente em análise sintática. É nela que o compilador verifica se a sequência de tokens faz sentido na linguagem e se a estrutura está correta. Se a gramática não bater, a árvore não nasce direito - e o compilador já começa a reclamar. A análise semântica vem depois e cuida do significado, como tipos compatíveis e uso correto de variáveis. Já geração de código objeto e de máquina ficam para o fim, quando o programa já foi entendido e transformado em instruções executáveis. Por isso, o gabarito é B: a árvore de derivação é produto típico da análise sintática.

Continue treinando

Questões relacionadas