Analisador Léxico — Funções, Conceitos e Tokens

Classificado em Computação

Escrito em em português com um tamanho de 2,8 KB

Analisador Léxico — Funções e Conceitos

Analisador léxico (AL): componente que lê os caracteres do programa-fonte e os agrupa em lexemas, produzindo como saída uma sequência de tokens. O fluxo de tokens é enviado ao analisador sintático (AS) para que a análise sintática seja efetuada.

Função principal

  • Ler os caracteres de entrada do programa-fonte e agrupá‑los em lexemas, produzindo uma sequência de tokens para cada lexema do programa.
  • Enviar o fluxo de tokens ao analisador sintático (AS) para a análise sintática.

Outras funções

  • Preencher a tabela de símbolos com os lexemas (quando o analisador identifica que o lexema é um identificador ou uma constante, por exemplo).
  • Remover espaços em branco e demais marcadores, além de comentários.
  • Registrar o número de quebras de linha para associar um número de linha a cada mensagem de erro.
  • Apontar erros léxicos, associando um número de linha à mensagem de erro.
  • Em alguns compiladores, criar uma cópia do programa-fonte (PF) com as mensagens de erro inseridas nas posições apropriadas.

Conceitos fundamentais

O analisador léxico lida com três conceitos principais: token, padrão e lexema.

Token

  • Par consistente em um nome e um valor de atributo opcional.
  • O nome do token é um símbolo abstrato que representa um tipo de unidade léxica (por exemplo, palavra‑chave ou identificador).
  • Os nomes dos tokens são os símbolos de entrada que o analisador sintático processa.

Padrão

  • Descrição da forma que os lexemas de um token podem assumir.
  • Palavras‑chave têm por padrão a sequência exata de caracteres que as compõe.
  • Identificadores e outros tokens assumem uma estrutura mais complexa, que corresponde a muitas sequências de caracteres.

Lexema

  • Sequência de caracteres no programa‑fonte que corresponde ao padrão de um token e é identificada pelo analisador léxico como uma instância desse token.

Atributos de tokens

  • Quando mais de um lexema casa com um padrão, o analisador léxico precisa oferecer às fases subsequentes informações adicionais sobre qual foi o lexema em particular.
  • O token comparison, por exemplo, corresponde a '<' e a '<='; é importante para o gerador de código saber exatamente qual lexema foi encontrado.
  • O AL passa ao AS, além do token, um valor de atributo que descreve o lexema representado pelo token.

Tabela de Símbolos

Todas as informações adicionais sobre um determinado lexema são mantidas na Tabela de Símbolos.

Entradas relacionadas: