ENEM, perguntado por suelidhora1581, 1 ano atrás

A identificação e o tratamento de erros emprogramas de computador estão entre as tarefas doscompiladores. Os erros de um programa podem tervariados tipos e precisam ser identificados e tratados emdiferentes fases da compilação. Considere uma linguagemde programação que exige que as variáveis manipuladaspor seus programas sejam previamente declaradas, nãopodendo haver duplicidade de identificadores para variáveisem um mesmo escopo. Considere, ainda, que a sintaxedessa linguagem tenha sido definida por meio de umagramática livre de contexto e as produções seguintesdefinam a forma das declarações de variáveis em seusprogramas.D -> TL; | TL; DT -> int | real | charL -> id | id,LConsidere os exemplos de sentenças — I e II — a seguir,com a indicação — entre os delimitadores /* e */ — dediferentes tipos de erros.I int: a, b; /* dois pontos após a palavraint */II int a,b; real a; /* declaração dupla davariável a */A partir dessas informações, assinale a opção correta.A A identificação e a comunicação do erro em qualqueruma das sentenças são funções do analisador léxico.B O compilador não tem meios para identificar e relatarerros como o da sentença I.C A identificação e a comunicação do erro na sentençaI são funções da geração de código intermediário.D A identificação e a comunicação do erro na sentençaII são funções do analisador léxico.E A identificação e a comunicação do erro na sentençaII são funções da análise semântica.

#ENADE

Soluções para a tarefa

Respondido por bryanavs
3

Podemos afirmar então que a alternativa correta é a letra e) A identificação e a comunicação do erro na sentença II são funções da análise semântica.

Vamos aos dados/resoluções:  

É de conhecimento público que o erro apresentado na sentença I é um erro que devido a gramática, será reconhecido em nível léxico pois o caractere ":" não pertence ao conjunto de símbolos válidos da linguagem.

Para o erro apresentado na sentença II, não é detectável nem em nível sintático muito menos no léxico, pois diz respeito a uma informação contextual de uso do identificador duplicidade de identificadores, inicialização, escopo e afins.  

Finalizando então, concluímos que a resposta correta é a letra e) .

espero ter ajudado nos estudos, bom dia :)

Respondido por mcmg2010
2

Resposta:

A identificação e a comunicação do erro na sentença II são funções da análise semântica.    (Correto)

Explicação:

Corrigido pelo DNM.

Anexos:
Perguntas interessantes