Análise Lexical e Sintática Compilação 2003/04 ©2004 Salvador Abreu Compilação – 2003/04 T2 1 Linguagens Regulares ● ● ● Hierarquia de linguagens de Chomsky Classes de linguagens e reconhecedores associados Breve tipificaçao de contstruções que podem ou não ser descritas por linguagens regulares. Compilação – 2003/04 T2 2 Formalismos para descrever L.R. ● Gramáticas Regulares. ● Expressões Regulares. Compilação – 2003/04 T2 3 Reconhecedores para L.R.: Autómatos Finitos ● Autómatos finitos: interpretação como reconhecedores – Estados. ● ● Estados inicial, Estados aceitadores. – Transições. – Entradas. Compilação – 2003/04 T2 4 Autómatos Finitos – Autómatos finitos não determinísticos (NFAs). ● ● ● – Definição Reconhecedor baseado em NFA: modelo computacional Construção dum NFA a partir dum conjunto (disjunto) de expressões regulares. Autómatos finitos determinísticos (DFAs). ● ● ● ● Definição Reconhecedor baseado em DFA: modelo computacional Construção dum DFA equivalente a um NFA. Minimização do número de estados dum DFA. Compilação – 2003/04 T2 5 Ferramentas para produzir Reconhecedores de L.R. ● ● Estrutura típica dum “programa” – Regras – Acções “semânticas” Processadores – lex/flex (C, C++) – jlex/jflex (Java) – etc. Compilação – 2003/04 T2 6