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). | ||
== | == 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 }.
- Exercício 1: (a|b)*
- Exercício 2: (a*|b*)*
- Exercício 3: ((ε|a)b)*
- Exercício 4: (a|b)*abb(a|b)*