11.07.2015 Views

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 3Análise Léxica3.1 O Papel do Analisador LéxicoA análise léxica é a primeira fase de um compilador e tem por objetivo fazer a leiturado programa fonte, caracter a caracter, e traduzi-lo para uma seqüência de símbolosléxicos denominados tokens, os quais são utilizados pelo analisador sintático. Exemplosde tokens são os identificadores, palavras reservadas, operadores da linguagem, etc.A interação entre análise léxica e sintática é normalmente implementada fazendo-secom que o analisador léxico seja uma sub-rotina ou co-rotina do parser (ver figura 3.1).Ao receber do parser um comando do tipo “obter próximo token”, o analisador léxico lêos caracteres de entrada até que possa identificar o próximo token.ProgramaFonteAnalisadorLéxicoTokenObter PróximoTokenAnalisadorSintáticoTabela deSímbolosFigura 3.1: O papel do analisador léxicoUm analisador léxico clássico pode ser entendido como um sistema de estados finitose, portanto, utiliza-se um autômato finito para sua implementação. As principaiscaracterísticas desse autômato:• O alfabeto de entrada são os caracteres pertencentes ao arquivo fonte• Cada estado final reconhece uma classe específica de tokens da linguagem fonteÉ denominado erro léxico a qualquer evento (durante o processo de análise léxica)que impossibilite a interpretação de um token.Uma lista de tokens é o resultado do processo de análise léxica, caso nenhum erroléxico tenha sido encontrado.13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!