O objetivo principal da fase da Análise Léxica é identificar sequências de caracteres que constituem unidades léxicas ("tokens"). O analisador léxico lê, caractere a caractere, o texto fonte, verificando se os caracteres lidos pertencem ao alfabeto da linguagem, identificando tokens, e desprezando comentários e brancos desnecessários. Os tokens constituem classes de símbolos tais como palavras reservadas, delimitadores, identificadores, etc., e podem ser representados, internamente, através do próprio símbolo (como no caso dos delimitadores e das palavras reservadas) ou por um par ordenado, no qual o primeiro elemento indica a classe do símbolo, e o segundo, um índice para uma área onde o próprio símbolo foi armazenado (por exemplo, identificador e sua entrada numa tabela de identificadores). Além da identificação de tokens, o analisador léxico, em geral, inicia a construção da Tabela de Símbolos e envia mensagens de erro caso identifique unidades léxicas não aceitas pela linguagem em questão. A saída do analisador léxico é uma cadeia de tokens que é passada para a próxima fase, a Análise Sintática. Em geral, o Analisador Léxico é implementado como uma subrotina que funciona sob o comando do Analisador Sintático. Seja o seguinte texto fonte em C e a Tabela de Símbolos abaixo, considere ainda para efeito de simplificação que as variáveis e constantes estão aparecendo pela primeira vez no comando abaixo, não tendo sido incluídas na Tabela de Símbolos antes deste comando: for (i=1 ; i < 10 ; i++) { a = i * 10; }
Para escrever sua resposta aqui, entre ou crie uma conta.
Análise de Sistemas Orientada A Objetos
•UFMS
Compartilhar