Baixe o app para aproveitar ainda mais
Prévia do material em texto
COMPILADORES AULA 03 COMPILADORES Aula 03 COMPILADORES AULA 03 Apresentação da Disciplina Professor: Marcus Pantoja da Silva E-mail: marcus.pantoja@estacio.br mailto:marcus.pantoja@estacio.br COMPILADORES AULA 03 Implementação de um Analisador Léxico • Para implementação de um analisador léxico temos algumas opções • Associar tratamento de erros individuais a cada estado do autômato, de forma que haja uma relação única entre o estado e o erro possível • Vantagem: autômato mais compacto COMPILADORES AULA 03 Implementação de um Analisador Léxico • Exemplo de implementação de um autômato finito que reconhece b*ab com tratamento de erros de estado. COMPILADORES AULA 03 Implementação de um Analisador Léxico COMPILADORES AULA 03 Implementação de um Analisador Léxico COMPILADORES AULA 03 Implementação de um Analisador Léxico Implemente o autômato do slide anterior a partir de uma função de transição de seus estados, ou seja, sabendo o seu estado atual e entrada (caractere) para qual estado o autômato irá. Verifique que caso a cadeia de entrada termine e você está em um estado final, então a cadeia é reconhecida, desse modo você deve retornar o lexema e o token associado. Crie estados de erros e relate caso a cadeia de entrada leve a eles. Atividade individual a ser entregue via SAI até 22/02 com valor de 1,0 ponto. COMPILADORES AULA 03 Bibliografia Básica AHO, Alfred V.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: princípios, técnicas e ferramentas. Rio de Janeiro: LTC, 2008. MENEZES, Paulo Fernando Blauth. Linguagens Formais e Autômatos. 4. ed. Porto Alegre: Bookman, 2002. PRICE, Ana Maria; TOSCANI, Simão Sirineo. Implementação de Linguagens de Programação: Compiladores. 2. ed. Porto Alegre: Sagra-Luzzato - Instituto de Informática da UFRGS, 2001. COMPILADORES AULA 03 Bibliografia Complementar LEWIS, Harry; PAPADIMITRIOU, Christos. Elementos de Teoria da Computação. 2 ed. Porto Alegre: Bookman, 2004; DIVERIO,Tiaraju Asmuz; MENEZES,Paulo Blauth. Teoria da Computação: Máquinas Universais e Computabilidade . 3ª Ed. Vol. 5. Rio de Janeiro: Bookman, 2011. GRUNE, Dick. Projeto moderno de compiladores: implementação e aplicações. Rio de Janeiro: Campus, 2001. JOSÉ NETO, João. Introdução à compilação. Rio de Janeiro: LTC, 1987. DELAMARO, Márcio E. Como construir um compilador utilizando ferramentas Java. São Paulo: Novatec, 2004 Aho, A., Lam, M., Sethi, R., and Ullman, J. (2007). CompiladoresPrincpios Técnicas e Ferramentas. Pearson, 2a. edition COMPILADORES AULA 03 AVANCE PARA FINALIZAR A APRESENTAÇÃO.
Compartilhar