Compiladores/Aula Prática 03: Difference between revisions

From Wiki**3

< Compiladores
Line 4: Line 4:
Analisadores lexicais (múltiplas expressões/tokens em simultâneo).
Analisadores lexicais (múltiplas expressões/tokens em simultâneo).


== Problema ==
== Exercício 1 ==
Para cada uma das expressões regulares seguintes, calcular o autómato finito não-determinista (NFA) pelo algoritmo de Thompson. Para cada um dos casos, calcular o autómato determinista (DFA) mínimo. Em todos os casos, o alfabeto é '''Σ = { a, b }'''.
 
* [[Theoretical Aspects of Lexical Analysis/Exercise 1|Exercício 1]]: <nowiki>(a|b)*</nowiki>
* [[Theoretical Aspects of Lexical Analysis/Exercise 2|Exercício 2]]: <nowiki>(a*|b*)*</nowiki>
* [[Theoretical Aspects of Lexical Analysis/Exercise 3|Exercício 3]]: <nowiki>((ε|a)b)*</nowiki>
* [[Theoretical Aspects of Lexical Analysis/Exercise 4|Exercício 4]]: <nowiki>(a|b)*abb(a|b)*</nowiki>


== Resolução ==
== Resolução ==

Revision as of 15:19, 9 February 2015

Tópicos

Análise lexical: expressões regulares, algoritmo de Thompson (construção do NFA), determinização (construção do DFA), minimização de DFA, análise de entrada.

Analisadores lexicais (múltiplas expressões/tokens em simultâneo).

Exercício 1

Para cada uma das expressões regulares seguintes, calcular o autómato finito não-determinista (NFA) pelo algoritmo de Thompson. Para cada um dos casos, calcular o autómato determinista (DFA) mínimo. Em todos os casos, o alfabeto é Σ = { a, b }.

Resolução