|
|
Line 1: |
Line 1: |
| {{TOCright}}
| | #REDIRECT [[ist:Compiladores/Aula Prática 03]] |
| == 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 }'''.
| |
| | |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 1|Problema 1]]: '''(a|b)*'''
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 2|Problema 2]]: '''(a*|b*)*'''
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 3|Problema 3]]: '''((ε|a)b)*'''
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 4|Problema 4]]: '''(a|b)*abb(a|b)*'''
| |
| | |
| == 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]]: '''G = { ab, ab*, a|b }''', input string = '''abaabb'''
| |
| * [[Theoretical Aspects of Lexical Analysis/Exercise 6|Problema 2]]: '''G = { aa, aaaa, a|b }''', 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]]
| |