Análise léxica e análise sintática
Análise Léxica 2
Analisador Léxico (Implementação) 2
Tokens 3
Especificação 4
Tabela de Símbolos 5
Análise sintática (Parsing) 5
Tipos de analisadores sintáticos 5
Determinismo 6
Bibliografia 7
Análise Léxica
Análise Léxica é o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma seqüência de símbolos chamado "símbolos léxicos" (lexical tokens), ou somente "símbolos" (tokens), que podem ser manipulados mais facilmente por um parser (leitor de saída). O componente do compilador responsável pela execução desse processo é conhecido como Analisador léxico.
A Análise Léxica é a forma de verificar determinado alfabeto. Quando analisamos uma palavra, podemos definir através da análise léxica se existe ou não algum caracter que não faz parte do nosso alfabeto, ou um alfabeto inventado por nós.
A Análise Léxica é a primeira etapa do processo de compilação e seu objetivo é dividir o código fonte em símbolos, preparando-o para a Análise Sintática. Neste processo pode-se destacar três atividades como fundamentais:
• Extração e classificação dos tokens;
• Eliminação de delimitadores e comentários;
• Recuperação de Erros.
O analisador léxico funciona de duas maneiras:
• Primeiro estado da análise: A primeira etapa lê a entrada de caracteres, um de cada vez, mudando o estado em que os caracteres se encontram. Quando o analisador encontra um caracter que ele não identifica como correto, ele o chama de "estado morto" então, ele volta à última análise que foi aceita e assim tem o tipo e comprimento do léxico válido.
Um léxico, entretanto, é uma única lista de caracteres conhecidas de ser um tipo correto. Para construir um símbolo, o analisador léxico necessita de um segundo estado.
• Segundo estado da análise: Nesta etapa são repassados os caracteres do léxico para produzir um valor. O tipo do léxico combinado com seu valor é