Imagem de fundo

Um compilador é um software que realiza a tradução de um...

Um compilador é um software que realiza a tradução de um programa escrito em uma linguagem de alto nível para uma linguagem de máquina adequada para um processador. Normalmente, o compilador não gera diretamente o código de máquina, mas cria um programa em linguagem simbólica (assembly), que é então convertido para código de máquina por meio de montadores. Para executar essa tarefa, o compilador passa por processos de análise léxica, sintática e semântica do código-fonte para eventualmente gerar o código de máquina.


Considerando as informações acima apresentadas, avalie as afirmações a seguir sobre o funcionamento de um compilador:


I. O analisador sintático é responsável por verificar se a sequência de símbolos gerada pelo analisador léxico forma um programa válido ou não.

II. Durante a análise léxica, o analisador identifica cada símbolo com um significado para a linguagem, gerando a mesma classificação para linguagens como Java, Pascal, ou outras.

III. O analisador semântico utiliza o código-fonte para identificar incoerências relacionadas ao significado das construções presentes no código.

IV. A fase de otimização do código visa melhorar o código intermediário para que o código de máquina final tenha um desempenho mais eficiente durante a execução.


É correto o que se afirma em


A

I, III e IV apenas.


B

I, II, III e IV.


C

II e III apenas.


D

I, II e IV apenas.