|
|
(3 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| == Tópicos ==
| | #REDIRECT [[ist:Compiladores/Aula Prática 03]] |
| 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 }'''.
| |
| | |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 1|Problema 1]]: <nowiki>'''(a|b)*'''</nowiki>
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 2|Problema 2]]: <nowiki>(a*|b*)*</nowiki>
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 3|Problema 3]]: <nowiki>((ε|a)b)*</nowiki>
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 4|Problema 4]]: <nowiki>(a|b)*abb(a|b)*</nowiki>
| |
| | |
| == Exercício 2 ==
| |
| Para cada uma das seguintes sequências ordenadas 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 }. Indicar em quantos passos é processada a entrada apresentada.
| |
| | |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 5|Problema 1]]: <nowiki>G = { ab, ab*, a|b }</nowiki>, input string = abaabb
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 6|Problema 2]]: <nowiki>G = { aa, aaaa, a|b }</nowiki>, input string = aaabaaaaa
| |
| | |
| == Resoluções ==
| |
| | |
| As ligações acima contêm as soluções para os exercícios propostos.
| |
| | |
| Procurar resolver sem consultar.
| |
| | |
| [[category:Compiladores]]
| |
| [[category:Ensino]]
| |