Na implementação de compiladores, a fase de parser do progr...

Próximas questões
Com base no mesmo assunto
Q914391 Arquitetura de Computadores
Na implementação de compiladores, a fase de parser do programa baseia-se, em parte, no resultado de um analisador léxico. Assinale a opção que descreve o papel de um analisador léxico.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - Identificar os tokens gramaticais no código fonte.

Vamos detalhar o papel do analisador léxico para compreender por que a alternativa D é a correta. Em um compilador, o analisador léxico, também conhecido como lexicador ou scanner, é a primeira fase do processo de compilação. Sua função primária é ler o código fonte, que é escrito em linguagem de alto nível, e transformar a sequência de caracteres em uma sequência de tokens. Um token é uma unidade lógica que representa um elemento da linguagem, como uma palavra-chave, um identificador, um literal ou um símbolo.

A importância dos tokens é que eles simplificam o trabalho das fases subsequentes do compilador ao reduzir a complexidade do texto de entrada. Portanto, quando falamos sobre o analisador léxico, estamos nos referindo a essa etapa de tokenização que precede a análise sintática (parsing), onde a estrutura gramatical do código será de fato analisada.

Agora, vamos entender por que as outras alternativas não são corretas:

  • A - Representar as regras da gramática da linguagem. (Isso é responsabilidade de uma gramática formal, e não do analisador léxico.)
  • B - Verificar a conformidade do código fonte com as regras da gramática da linguagem. (Essa é uma tarefa do analisador sintático, não do léxico.)
  • C - Definir a notação em que as regras da gramática são expressas. (Isso está relacionado ao formalismo utilizado para descrever a gramática, como BNF ou EBNF.)
  • E - Expressar a semântica das construções da linguagem. (A semântica é tratada em fases posteriores, como na análise semântica e na geração de código.)

Assim, a alternativa D é a única que descreve corretamente a responsabilidade do analisador léxico: identificar e classificar os tokens do código fonte, preparando-os para as próximas fases do processo de compilação.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Análise Léxica = Token

 

@papirobizurado

DICA PRECIOSA

Análise léxica envolve a identificação de símbolos - tokens.

Análise sintática tem a ver com a montagem das estruturas que constituem as expressões e comandos (lembrar do erro de sintaxe se faltar uma chave para o if ou for no C)

Análise semântica, por sua vez, tem o objetivo de ligar as estruturas dando sentido ao programa.

 

Gabarito: D

Gabarito D

Na compilação, a análise consiste em três fases:

Análise léxica, linear, esquadrinhamento (scanning): o fluxo de caracteres que constitui o programa é lido da esquerda para a direita e agrupado em tokens, que são seqüências de caracteres tendo um significado coletivo.

Análise sintática, hierárquica ou gramatical: os caracteres ou tokens são agrupados hierarquicamente em coleções aninhadas com significado coletivo. Em outras palavras agrupam-se os tokens em frases gramaticais. Estas frases são usadas pelo compilador para sintetizar uma saída. As frases gramaticais são representadas por árvores

Análise semântica: verificações são realizadas para assegurar que componentes de um programa se combinam de forma significativa.

Esta fase verifica erros semânticos no programa fonte e captura informações de tipo para a fase subseqüente de geração de código. Utiliza a estrutura hierárquica determinada pela fase de análise sintática, a fim de identificar os operadores e operandos das expressões e enunciados.

"Retroceder Nunca Render-se Jamais !"

Força e Fé !

Fortuna Audaces Sequitur !

A - Sintática

B - Sintática

C - Sintática

D - Léxica

E - Semântica

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo