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