Dadas as afirmativas a respeito de compiladores, I. Um compi...
Dadas as afirmativas a respeito de compiladores,
I. Um compilador é classificado como just-in-time compiler quando o processo de compilação acontece apenas no momento em que o código é executado. Por essa razão, compiladores do tipo just-in-time compiler não são capazes de fazer otimizações no código final como parte do processo de compilação.
II. O código gerado por um compilador deve, necessariamente, ser semanticamente equivalente ao código fonte original.
III. O processo de compilação é composto por três passos obrigatórios: análise léxica, análise sintática e geração do código final. E, opcionalmente, podem ser executados mais dois passos: análise semântica e otimização de código.
IV. A etapa de análise léxica consiste em analisar o código fonte para produzir símbolos (tokens), que são processados em seguida na etapa de análise sintática, também conhecida como parsing.
verifica-se que estão corretas
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: II e IV, apenas.
Vamos agora entender por que essa é a alternativa correta e analisar cada afirmativa.
I. Um compilador é classificado como just-in-time compiler quando o processo de compilação acontece apenas no momento em que o código é executado. Por essa razão, compiladores do tipo just-in-time compiler não são capazes de fazer otimizações no código final como parte do processo de compilação.
Essa afirmativa está incorreta. Compiladores Just-In-Time (JIT) realizam a compilação durante a execução do programa, isto é, o código é compilado "na hora de rodar". No entanto, é errado afirmar que eles não podem fazer otimizações no código final. Muitas implementações de JIT, como as usadas em máquinas virtuais (por exemplo, JVM da Java), são capazes de realizar otimizações muito avançadas durante a execução.
II. O código gerado por um compilador deve, necessariamente, ser semanticamente equivalente ao código fonte original.
Essa afirmativa está correta. O objetivo do compilador é transformar o código fonte em código de máquina ou outro formato intermediário, garantindo que o comportamento e significado do programa sejam preservados. Dessa forma, o código final deve ser semanticamente equivalente ao código fonte original.
III. O processo de compilação é composto por três passos obrigatórios: análise léxica, análise sintática e geração do código final. E, opcionalmente, podem ser executados mais dois passos: análise semântica e otimização de código.
Essa afirmativa está incorreta. A análise semântica é um passo obrigatório no processo de compilação. O modelo clássico de compilação inclui as etapas de análise léxica, análise sintática, análise semântica, geração de código intermediário, otimização (opcional) e geração de código final. Portanto, a afirmação de que a análise semântica é opcional é incorreta.
IV. A etapa de análise léxica consiste em analisar o código fonte para produzir símbolos (tokens), que são processados em seguida na etapa de análise sintática, também conhecida como parsing.
Essa afirmativa está correta. A análise léxica é a primeira etapa do processo de compilação, onde o código fonte é convertido em uma sequência de tokens. Esses tokens são então processados na análise sintática (ou parsing), que verifica a estrutura gramatical do código.
Resumindo, as afirmativas II e IV estão corretas, e as demais possuem erros conceituais.
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