1 / 25

Conversão de um NFA para um DFA com um exemplo

Conversão de um NFA para um DFA com um exemplo. Compiladores, Aula Nº 7 (suplementos) João M. P. Cardoso. NFA para DFA. NFA para (0 | 1)*.(0 | 1)*. . . 1. 1. . . . . 3. 5. 11. 13. . . . . 1. 2. 7. 8. 9. 10. 15. 16. . . . . 4. 6. 12. 14. 0. 0. .

yehuda
Download Presentation

Conversão de um NFA para um DFA com um exemplo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conversão de um NFA para um DFA com um exemplo Compiladores, Aula Nº 7 (suplementos) João M. P. Cardoso

  2. NFA para DFA • NFA para (0 | 1)*.(0 | 1)*   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0  

  3. NFA para DFA • Começar pelo estado início do NFA (estado 1)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0  

  4. NFA para DFA • Agrupar todos os estado que possam ser alcançados do estado 1 com transições    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0  

  5. NFA para DFA • O agrupamento forma o estado início do DFA   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1,2,3,4,8

  6. NFA para DFA • Agora determinamos as transições sobre o alfabeto que podem ocorrer deste estado   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1,2,3,4,8

  7. NFA para DFA • Agora determinamos as transições sobre o alfabeto que podem ocorrer deste estado   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 1,2,3,4,8 0

  8. NFA para DFA • Para cada transição vamos encontrar no NFA os estados destino a partir dos estados agrupados no DFA   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 1,2,3,4,8 0

  9. NFA para DFA • Para a transição do “.” (ocorre do estado 8 para o 9)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1,2,3,4,8

  10. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com . são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1,2,3,4,8 9,10,11,12,16

  11. NFA para DFA • Como o estado 16 é um estado de aceitação no NFA então o estado (9, 10, 11, 12, 16) é um estado de aceitação no DFA pois inclui o estado 16   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1,2,3,4,8 9,10,11,12,16

  12. NFA para DFA • Para a transição do “1” (ocorre do estado 3 para o 5)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16

  13. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com 1 são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16

  14. NFA para DFA • Para a transição do “0” (ocorre do estado 4 para o 6)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0

  15. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com 0 são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  16. NFA para DFA • Percorremos todas as transições possíveis do estado início do DFA   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  17. NFA para DFA • Agora vamos fazer o mesmo para os outros estados entretanto adicionados ao DFA   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  18. NFA para DFA • Vamos começar por exemplo pelo estado (5, 7, 2, 3, 4, 8)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  19. NFA para DFA • Para a transição do “1” (ocorre do estado 3 para o 5)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  20. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com 1 são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  21. NFA para DFA • Para a transição do “0” (ocorre do estado 4 para o 6)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 6,7,2,3,4,8

  22. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com 0 são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 0 6,7,2,3,4,8

  23. NFA para DFA • Para a transição do “.” (ocorre do estado 8 para o 9)   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 0 6,7,2,3,4,8

  24. NFA para DFA • O estado é dado pelo agrupamento dos estados que sendo alcançáveis com . são depois alcançáveis com    . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 5,7,2,3,4,8 1 1,2,3,4,8 9,10,11,12,16 0 0 6,7,2,3,4,8

  25. NFA para DFA • Da continuação da aplicação do algoritmo resultaria   . 1 1     3 5 11 13     1 2 7 8 9 10 15 16     4 6 12 14 0 0   1 1 5,7,2,3,4,8 13,15,10,11,12,16 1 1 1 1 1,2,3,4,8 9,10,11,12,16 0 0 0 0 6,7,2,3,4,8 14,15,10,11,12,16 0 0

More Related