Na implementação de compiladores, a fase de parser do progr...
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