A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

5.5.4 – Métodos para a construção da tabela de análise LR Tabela de análise LR = Tabela de análise LR = Tabela de ações Tabela de transições Gramáticas.

Apresentações semelhantes


Apresentação em tema: "5.5.4 – Métodos para a construção da tabela de análise LR Tabela de análise LR = Tabela de análise LR = Tabela de ações Tabela de transições Gramáticas."— Transcrição da apresentação:

1 5.5.4 – Métodos para a construção da tabela de análise LR Tabela de análise LR = Tabela de análise LR = Tabela de ações Tabela de transições Gramáticas LR(k) ou simplesmente LR permitem a construção dessas tabelas Gramáticas LR(k) ou simplesmente LR permitem a construção dessas tabelas Yacc usa essas tabelas Yacc usa essas tabelas Gramáticas ambíguas não são LR, mas em Yacc há dispositivos para resolver ambiguidades Gramáticas ambíguas não são LR, mas em Yacc há dispositivos para resolver ambiguidades

2 Numa gramática LR, os analisadores por deslocamento e redução têm a capacidade de reconhecer asas no topo da pilha Numa gramática LR, os analisadores por deslocamento e redução têm a capacidade de reconhecer asas no topo da pilha Na realidade, eles utilizam um autômato determinístico reconhecedor de prefixos viáveis na pilha Na realidade, eles utilizam um autômato determinístico reconhecedor de prefixos viáveis na pilha Nesses analisadores, não é necessário percorrer a pilha para saber quando uma asa aparece no topo: Nesses analisadores, não é necessário percorrer a pilha para saber quando uma asa aparece no topo: O estado no topo da pilha contém toda a informação necessária O estado no topo da pilha contém toda a informação necessária

3 São conhecidos três métodos para a construção de uma tabela de análise LR: São conhecidos três métodos para a construção de uma tabela de análise LR: Método SLR (simple LR): aplica-se a um menor número de gramáticas; é o de mais fácil implementação Método SLR (simple LR): aplica-se a um menor número de gramáticas; é o de mais fácil implementação Método CLR (canonical LR): mais poderoso e de mais difícil implementação Método CLR (canonical LR): mais poderoso e de mais difícil implementação Método LALR (look-ahead LR): intermediário em potência e dificuldade de implementação Método LALR (look-ahead LR): intermediário em potência e dificuldade de implementação

4 Métodos SLR (simple LR), CLR (canonical LR) e LALR (look-ahead LR): O segundo e o terceiro método usam os mesmos princípios do primeiro e acrescentam a esse informações sobre os átomos seguintes do que está em análise O segundo e o terceiro método usam os mesmos princípios do primeiro e acrescentam a esse informações sobre os átomos seguintes do que está em análise O terceiro método é uma simplificação do segundo, diminuindo muito a memória gasta no processo O terceiro método é uma simplificação do segundo, diminuindo muito a memória gasta no processo É o mais usado na prática É o mais usado na prática Yacc usa o método LALR Yacc usa o método LALR

5 Métodos SLR (simple LR), CLR (canonical LR) e LALR (look-ahead LR): Nesta disciplina será apresentado somente o método SLR Nesta disciplina será apresentado somente o método SLR Os outros dois usam os princípios básicos desse primeiro Os outros dois usam os princípios básicos desse primeiro Fundamental é a concepção do autômato finito determinístico, reconhecedor de prefixos viáveis, para o controle da pilha do analisador Fundamental é a concepção do autômato finito determinístico, reconhecedor de prefixos viáveis, para o controle da pilha do analisador

6 5.5.5 – Autômato finito não-determinístico LR Origem do autômato finito determinístico (AFD): Origem do autômato finito determinístico (AFD): Autômato finito não-determinístico (AFND) reconhecedor de prefixos viáveis Autômato finito não-determinístico (AFND) reconhecedor de prefixos viáveis O AFND é transformado num AFD equivalente O AFND é transformado num AFD equivalente Seja então a concepção de um AFND reconhecedor de prefixos viáveis de uma gramática Seja então a concepção de um AFND reconhecedor de prefixos viáveis de uma gramática

7 Os estados de um AFND são chamados itens de produções Os estados de um AFND são chamados itens de produções Item de produção de uma gramática é a mesma produção contendo um ponto (.) em alguma posição do lado direito Item de produção de uma gramática é a mesma produção contendo um ponto (.) em alguma posição do lado direito A produção A XYZ tem 4 itens, a saber: A produção A XYZ tem 4 itens, a saber: A. XYZ, A X. YZ, A XY. Z e A XYZ. A produção vazia A ε tem 1 item : A. A produção vazia A ε tem 1 item : A.

8 Interpretação de um item: Seja o item A α.β Seja o item A α.β É um estado do AFND no qual já foi vista na entrada uma sub-sentença derivada de α e se espera encontrar a seguir outra derivada de β É um estado do AFND no qual já foi vista na entrada uma sub-sentença derivada de α e se espera encontrar a seguir outra derivada de β O AFND de uma gramática trabalha com a mesma aumentada de um novo símbolo inicial S e uma nova produção, S S

9 Exemplo: gramática de expressões aumentada e seus 20 itens Um item pode ser representado por um par de inteiros: Um item pode ser representado por um par de inteiros: O primeiro sendo o número da produção e o segundo a posição do ponto O primeiro sendo o número da produção e o segundo a posição do ponto

10 Num AFND, há dois tipos de transições: De qualquer estado do tipo A.X para outro estado do tipo A X., cuja condição para transição é o símbolo X (X {N }) De qualquer estado do tipo A.X para outro estado do tipo A X., cuja condição para transição é o símbolo X (X {N }) De qualquer estado do tipo A.B para outro estado do tipo B., cuja condição para transição é o símbolo ε (vazio) De qualquer estado do tipo A.B para outro estado do tipo B., cuja condição para transição é o símbolo ε (vazio) A.X A X. A.B B. X ε O 2º tipo caracteriza o não-determinismo

11 p/ e 4 +E e 1 : E.E inicial E e 8 : E E. e 2 : E.E+Te 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 AFND da gramática anterior Todos os estados são finais

12 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 Na impossibilidade de transição, o percurso sobre o prefixo é paralisado O prefixo a ser analisado é o conteúdo da pilha

13 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 Seja a análise do prefixo E + ( T * id E + ( T * id

14 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

15 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+T e 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

16 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+T e 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

17 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E) e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

18 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*F e 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

19 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*F e 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * id

20 e 1 : E.E inicial E e 8 : E E. e 2 : E.E+T E e 9 : E E.+Te 15 : E E+.T T e 18 : E E+T. + e 3 : E.T T e 10 : E T. e 4 : T.T*F T e 11 : T T.*Fe 16 : T T*.F F e 19 : T T*F. * e 5 : T.F F e 12 : T F. e 6 : F.(E) ( e 13 : F (.E)e 17 : F (E.) ) e 20 : F (E). E e 7 : F.id id e 14 : F id. p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 E + ( T * idE + ( T * id - Prefixo viável O prefixo E + ( T * id ) é inviável

21 No exemplo anterior, analisou-se apenas um prefixo No exemplo anterior, analisou-se apenas um prefixo No exemplo a seguir será analisada uma sentença e também os prefixos necessários para essa análise No exemplo a seguir será analisada uma sentença e também os prefixos necessários para essa análise Exemplo: Seja a gramática do exemplo inicial aumentada Exemplo: Seja a gramática do exemplo inicial aumentada S S S a A B e A A b c | b B d E a análise da sentença abbcde Relembrando sua redução: a b b c d e a A b c d e a A d e a A B e S

22 A a eB cb A d b S S.S inicial S S. S.aABeS a.ABeS aA.BeS aAB.eS aABe. A.AbcA A.bcA Ab.cA Abc. A.bA b. B.dB d. abbcde PilhaEntrada O AFND Início da análise

23 S.S inicial S S S. S.aABe a S a.ABe S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.dB d. Ae bc b d abbcde PilhaEntrada a é prefixo viável Os 2 estados não são finais de produção Ação: Deslocar a Início da análise Obs.: só se pode reduzir, caso pelo menos um dos estados seja final de produção

24 S.S inicial S S S. S.aABe a S a.ABe a S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.dB d. Ae bc b d bbcde bbcde PilhaEntrada

25 S.S inicial S S S. S.aABe a S a.ABe a S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.b A b. B.dB d. Ae bc b d bbcde bbcde PilhaEntrada ab é prefixo viável Os 3 estados não são finais de produção Ação: Deslocar b

26 S.S inicial S S S. S.aABe a S a.ABe ab S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.b A b. B.dB d. Ae bc b d bcde bcde PilhaEntrada

27 S.S inicial S S S. S.aABe a S a.ABe ab S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.b A b. B.dB d. Ae bc b d bcde bcde PilhaEntrada abb não é prefixo viável: não deslocar b O estado é final de produção; b Seguinte (A) (b na entrada) Ação: Reduzir b para A Se b Seguinte (A), não reduziria; Nesse caso haveria erro

28 S.S inicial S S S. S.aABe a S a.ABe aA S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.b A b. B.dB d. Ae bc b d bcde bcde PilhaEntrada

29 S.S inicial S S S. S.aABe a S a.ABe aA S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d bcde bcde PilhaEntrada aA é prefixo viável aAb é prefixo viável Os 3 estados não são finais de produção Ação: Deslocar b

30 S.S inicial S S S. S.aABe a S a.ABe aAb S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d cde cde PilhaEntrada

31 S.S inicial S S S. S.aABe a S a.ABe aAb S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.c A Abc. A.bA b. B.dB d. Ae bc b d cde cde PilhaEntrada aAbc é prefixo viável O estado não é final de produção Ação: Deslocar c b é lado direito de produção, mas não há redução pois o estado não é final de produção; só no item (A b.) isso poderia acontecer

32 S.S inicial S S S. S.aABe a S a.ABe aAbc S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.c A Abc. A.bA b. B.dB d. Ae bc b d de de PilhaEntrada

33 S.S inicial S S S. S.aABe a S a.ABe aAbc S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.c A Abc. A.bA b. B.dB d. Ae bc b d de de PilhaEntrada aAbcd não é prefixo viável O estado é final de produção d Seguinte (A) (d na entrada) Ação: Reduzir Abc para A

34 S.S inicial S S S. S.aABe a S a.ABe aA S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.c A Abc. A.bA b. B.dB d. Ae bc b d de de PilhaEntrada

35 S.S inicial S S S. S.aABe a S a.ABe aA S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d de de PilhaEntrada aA é prefixo viável aAd é prefixo viável Os 3 estados não são finais de produção Ação: Deslocar d

36 S.S inicial S S S. S.aABe a S a.ABe aAd S aA.Be B S aAB.eS aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d e PilhaEntrada

37 S.S inicial S S S. S.aABe a S a.ABe aAd S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.d B d. Ae bc b d e PilhaEntrada aAde não é prefixo viável O estado é final de produção e Seguinte (B) (e na entrada) Ação: Reduzir d para B

38 S.S inicial S S S. S.aABe a S a.ABe aAB S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.d B d. Ae bc b d e PilhaEntrada

39 S.S inicial S S S. S.aABe a S a.ABe aAB S aA.Be B S aAB.e S aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d e PilhaEntrada aAB é prefixo viável aABe é prefixo viável O estado não é final de produção Ação: Deslocar e

40 S.S inicial S S S. S.aABe a S a.ABe aABe S aA.Be B S aAB.e S aABe. A.Abc A A A.bc A Ab.cA Abc. A.b A b. B.d B d. Ae bc b d PilhaEntrada

41 S.S inicial S S S. S.aABe a S a.ABe aABe S aA.Be B S aAB.e S aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.dB d. Ae bc b d PilhaEntrada Acabou a entrada O estado é final de produção Ação: Reduzir aABe para S

42 S.S inicial S S S. S.aABe a S a.ABe S S aA.Be B S aAB.e S aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.dB d. Ae bc b d PilhaEntrada

43 S.S inicial S S S. S.aABe a S a.ABe S S aA.Be B S aAB.eS aABe. A.Abc A A A.bcA Ab.cA Abc. A.bA b. B.dB d. Ae bc b d PilhaEntrada S é prefixo viável O estado é final da produção inicial A entrada está vazia Ação: Aceitar a sentença Se a entrada não estivesse vazia: erro

44 Observações: Se não chegar ao final de alguma produção e o deslocamento for inviável: erro na sentença Se não chegar ao final de alguma produção e o deslocamento for inviável: erro na sentença Se deslocamento for viável, tendo chegado ao final de alguma produção A, mas entrada Seguinte(A): desloca Se deslocamento for viável, tendo chegado ao final de alguma produção A, mas entrada Seguinte(A): desloca Se deslocamento for inviável, tendo chegado ao final de alguma produção A, mas entrada Seguinte(A): erro na sentença Se deslocamento for inviável, tendo chegado ao final de alguma produção A, mas entrada Seguinte(A): erro na sentença Se deslocamento for viável, tendo chegado ao final de alguma produção A e entrada Seguinte(A): conflito shift- reduce Se deslocamento for viável, tendo chegado ao final de alguma produção A e entrada Seguinte(A): conflito shift- reduce Se deslocamento for inviável, tendo chegado ao final de duas produções e entrada Seguinte(Ambos lados esquerdos): conflito reduce-reduce Se deslocamento for inviável, tendo chegado ao final de duas produções e entrada Seguinte(Ambos lados esquerdos): conflito reduce-reduce

45 Diferenças entre o método SLR e os métodos CLR e LALR: A principal diferença está em conflitos que aparecem no primeiro método e são resolvidos nos outros dois A principal diferença está em conflitos que aparecem no primeiro método e são resolvidos nos outros dois Exemplo: seja uma gramática não-ambígua e a seguinte situação na Pilha Entrada Exemplo: seja uma gramática não-ambígua e a seguinte situação na Pilha Entrada Seja por hipótese o deslocamento de a viável, a existência da produção A α e a Seguinte(A) O método SLR visto notificará conflito shift-reduce β αβ α a _ _ _ _ Pilha Entrada

46 Os métodos CLR e LALR exploram as duas alternativas desse conflito Na alternativa de redução, Pilha Entrada fica: Há casos em que βA não contém asa e βAa não é viável, ou seja, não pode reduzir nem deslocar Então a hipótese da redução de para A pode ser descartada e o conflito detectado pelo método SLR não é real β αβ α a _ _ _ _ Pilha Entrada β Aβ A a _ _ _ _ Pilha Entrada

47 Conclui-se que os estados do AFND do método SLR não têm informações do contexto mais à esquerda ( ), afim de decidir por um shift diante de um reduce falso Conclui-se que os estados do AFND do método SLR não têm informações do contexto mais à esquerda ( ), afim de decidir por um shift diante de um reduce falso Há gramáticas não-ambíguas para as quais, qualquer método LR gera tabelas de ações contendo conflitos Há gramáticas não-ambíguas para as quais, qualquer método LR gera tabelas de ações contendo conflitos Felizmente, tais gramáticas podem geralmente ser evitadas para aplicações em linguagens de programação Felizmente, tais gramáticas podem geralmente ser evitadas para aplicações em linguagens de programação

48 5.5.6 – Autômato finito determinístico LR O percurso em um AFND consome muito tempo; melhor é transformá-lo em um AFD O percurso em um AFND consome muito tempo; melhor é transformá-lo em um AFD Seja agora a transformação de um AFND num AFD equivalente Seja agora a transformação de um AFND num AFD equivalente Cada estado do AFD é representado por um conjunto de itens das produções da gramática Cada estado do AFD é representado por um conjunto de itens das produções da gramática Um item pode estar em mais de um desses conjuntos Um item pode estar em mais de um desses conjuntos

49 e 1 inicial e8e8 e2e2 e9e9 e 15 e 18 e3e3 e 10 e4e4 e 11 e 16 e 19 e5e5 e 12 e6e6 e 13 e 17 e 20 e7e7 e 14 E E T+ T T F* F ( )E id p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 Exemplo: transformação do AFND da gramática de expressões anterior num AFD Itens acessados por e 1

50 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 Itens acessados por e 1 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial

51 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 Transições de I 0 por E e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial

52 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 0 por E e8e9e8e9 I1I1 E

53 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 E Transições de I 0 por T

54 T e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 0 por T e8e9e8e9 I1I1 e 10 e 11 I2I2 E

55 T e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E Transições de I 0 por F e id

56 F id e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 0 por F e id e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5

57 F id e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 Transições de I 0 por (

58 ( e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 0 por ( e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 F id

59 ( e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 F id Transições de I 1 por +

60 + e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 1 por + e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id (

61 + e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( Transições de I 2 por *

62 * e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 2 por * e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7

63 * e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 Transições de I 4 por E

64 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 4 por E e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E

65 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E Transições de I 4 por T

66 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 4 por T e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E T

67 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E T Transições de I 4 por F e id

68 F id e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 4 por F e id e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E T

69 F id e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E T Transições de I 4 por (

70 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 4 por ( e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( F id T F

71 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( F id T F Transições de I 6 por T

72 T e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 6 por T e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 F id T F

73 T e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 F id T F Transições de I 6 por F e id

74 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 6 por F e id e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id F T F

75 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id F T F Transições de I 6 por (

76 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 6 por ( e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( F T F

77 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( F T F Transições de I 7 por F e id

78 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 7 por F e id e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 F id T F F

79 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 F id T F F Transições de I 7 por (

80 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 7 por ( e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T F F

81 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T F F Transições de I 8 por )

82 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 8 por ) e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) F F

83 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) F F Transições de I 8 por +

84 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 8 por + e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) + F F

85 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) + F F Transições de I 9 por *

86 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial Transições de I 9 por * e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) + * AFD completo F F

87 Algoritmos para transformar um AFND em um AFD: Fechamento, Goto e EstadosAFD Fechamento, Goto e EstadosAFD Algoritmo 5.9: Cálculo do Fechamento (I), sendo I um conjunto de itens de uma gramática

88 Fechamento (I) é um conjunto de itens constituídos a partir de I, usando as seguintes regras: 1.Inicialmente, acrescentar todo item i I ao Fechamento (I) 2.Se o item i Fechamento (I) e, no AFND existe uma transição de i para um item j pela cadeia vazia ε, acrescentar o item j ao Fechamento (I), caso ainda aí não esteja 3.Aplicar a regra 2 até que nenhum item seja mais acrescentado ao Fechamento (I)

89 Algoritmo 5.10: Cálculo do Goto (I, X), sendo I um conjunto de itens de uma gramática e X um de seus terminais ou não- terminais Goto (I, X) é o fechamento do conjunto de todos os itens Goto (I, X) é o fechamento do conjunto de todos os itens (A αX. ) tais que (A α.X ) I

90 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) X a r d b t c e p g f q s ε ε ε ε ε ε X X ε ε I = Fechamento ( {a}) = { a,

91 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d

92 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d, e, f, g}

93 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d, e, f, g} J = Goto (I, X) = Goto ({ a, b, c, d, e, f, g}, X) =

94 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d, e, f, g} J = Goto (I, X) = Goto ({ a, b, c, d, e, f, g}, X) = Fechamento ({r, p, q}) =

95 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d, e, f, g} J = Goto (I, X) = Goto ({ a, b, c, d, e, f, g}, X) = Fechamento ({r, p, q}) = {r, p, q

96 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε I = Fechamento ( {a}) = { a, b, c, d, e, f, g} J = Goto (I, X) = Goto ({ a, b, c, d, e, f, g}, X) = Fechamento ({r, p, q}) = {r, p, q, t, s}

97 Exemplo: Dado o AFND abaixo, calcular I = Fechamento ( {a}) e J = Goto (I, X) a r d b t c e p g f q s ε ε ε ε ε ε X X X ε ε a, b, c, d, e, f, g r, p, q, t, s I J X

98 Algoritmo 5.11: Calculo do conjunto de estados do AFD para análise SLR EstadosAFD (G) é a coleção dos conjuntos dos itens da gramática aumentada G Cada conjunto de itens é um estado do AFD Cada conjunto de itens é um estado do AFD

99 EstadosAFD ( gramática aumentada G ) { C {Fechamento ( {S.S})} ; Repetir { Para (cada conjunto I C e cada símbolo X de G tal que Goto (I, X) { } e Goto (I, X) C) { Acrescentar Goto (I, X) a C; } } Até que (nenhum conjunto seja acrescentado a C); Retornar C; } No AFD, existe uma transição de I i para I j por X, com (I i, I j C) e (X (N )) se Goto (I i, X) = I j No AFD, existe uma transição de I i para I j por X, com (I i, I j C) e (X (N )) se Goto (I i, X) = I j Todos os estados do AFD são finais Todos os estados do AFD são finais

100 5.5.7 – Tabela de analise SLR As tabelas de ações e de transições de um analisador sintático LR são baseadas no AFD reconhecedor de prefixos viáveis As tabelas de ações e de transições de um analisador sintático LR são baseadas no AFD reconhecedor de prefixos viáveis Algoritmo 5.12: Construção de uma tabela SLR Entrada: Gramática aumentada G Saída: Tabelas Ação [e, a] e Goto [e, A] p/ G (a e A N) 1.Construir C = { I 0, I 1, I 2,..., I n }, a coleção de conjuntos de itens de G;

101 e 1 inicial E e8e8 e2e2 E e9e9 e 15 T e 18 + e3e3 T e 10 e4e4 T e 11 e 16 F e 19 * e5e5 F e 12 e6e6 ( e 13 e 17 ) e 20 E e7e7 id e 14 p/ e 4 p/ e 5 p/ e 6 p/ e 7 p/ e 2 p/ e 3 e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 E T e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 F id ( + e 16 e 6 e 7 I7I7 * e 9 e 17 I8I8 E ( e 11 e 18 I9I9 T F id ( e 19 I 10 ( F id T e 20 I 11 ) + * F F

102 Algoritmo 5.12: Construção de uma tabela SLR 2.O estado i corresponde a I i ; as ações para o estado i são assim estabelecidas: a) Se (Goto (I i, a) = I j ) Ação [i, a] (deslocar, j); b) Se ((A.) I i e A S) Para todo a Seguinte (A) Ação [i, a] (reduzir, A ); c) Se ((S S.) I i ) Ação [i, $] (aceitar)

103 Algoritmo 5.12: Construção de uma tabela SLR 3.Para todo estado i e todo não terminal A Se (Goto (I i, A) = I j ) Goto [i, A] j 4.Toda entrada não definida nos passos 2 e 3 são erros 5.O estado inicial é o que contém (S.S)

104 F E T id ( + * E ( T F ( ( F T ) + * F F e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 e 16 e 6 e 7 I7I7 e 9 e 17 I8I8 e 11 e 18 I9I9 e 19 I 10 e 20 I 11 Exemplo: Para a gramática G definida anteriormente: 1. Construir C = { I 0, I 1, I 2,..., I 11 }, a coleção de conjuntos de itens de G;

105 2.a) Se (Goto (I i, a) = I j ) Ação [i, a] (deslocar, j); id+*()$ 0d 5d 4 1d 6 2d 7 3 4d 5d 4 5 6d 5d 4 7d 5d 4 8d 6d 11 9d F E T id ( + * E ( T F ( ( F T ) + * F F e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 e 16 e 6 e 7 I7I7 e 9 e 17 I8I8 e 11 e 18 I9I9 e 19 I 10 e 20 I 11

106 b) Se ((A.) I i e A S) Para todo a Seguinte (A) Ação [i, a] (reduzir, A ); Número da Produção Item de final de Produção Estado do AFD - E E. 1 1 E E+T. 9 2 E T. 2 3 T T*F T F. 3 5 F (E) F id. 5 Não-terminalSeguinte E+ ) $ T+ * ) $ F E$ id+*()$ 0d 5d 4 1d 6 2d 7 3 4d 5d 4 5 6d 5d 4 7d 5d 4 8d 6d 11 9d

107 b) Se ((A.) I i e A S) Para todo a Seguinte (A) Ação [i, a] (reduzir, A ); id+*()$ 0d 5d 4 1d 6 2r 2d 7r 2 3r 4 4d 5d 4 5r 6 6d 5d 4 7d 5d 4 8d 6d 11 9r 1d 7r 1 10r 3 11r 5 Número da Produção Item de final de Produção Estado do AFD - E E. 1 1 E E+T. 9 2 E T. 2 3 T T*F T F. 3 5 F (E) F id. 5 Não-terminalSeguinte E+ ) $ T+ * ) $ F E$

108 c) Se ((S S.) I i ) Ação [i, $] (aceitar) id+*()$ 0d 5d 4 1d 6 2r 2d 7r 2 3r 4 4d 5d 4 5r 6 6d 5d 4 7d 5d 4 8d 6d 11 9r 1d 7r 1 10r 3 11r 5 Número da Produção Item de final de Produção Estado do AFD - E E. 1 1 E E+T. 9 2 E T. 2 3 T T*F T F. 3 5 F (E) F id. 5 Não-terminalSeguinte E+ ) $ T+ * ) $ F E$

109 c) Se ((S S.) I i ) Ação [i, $] (aceitar) id+*()$ 0d 5d 4 1d 6act 2r 2d 7r 2 3r 4 4d 5d 4 5r 6 6d 5d 4 7d 5d 4 8d 6d 11 9r 1d 7r 1 10r 3 11r 5 Número da Produção Item de final de Produção Estado do AFD - E E. 1 1 E E+T. 9 2 E T. 2 3 T T*F T F. 3 5 F (E) F id. 5 Não-terminalSeguinte E+ ) $ T+ * ) $ F E$

110 3) Para todo estado i e todo não- terminal A: Se (Goto (I i, A) = I j ) Goto [i, A] j ETF F E T id ( + * E ( T F ( ( F T ) + * F F e 1 e 2 e 3 e 4 e 5 e 6 e 7 I 0 - inicial e8e9e8e9 I1I1 e 10 e 11 I2I2 e 12 e 14 I3I3 I5I5 e 13 e 2 e 3 e 4 e 5 e 6 e 7 I4I4 e 15 e 4 e 5 e 6 e 7 I6I6 e 16 e 6 e 7 I7I7 e 9 e 17 I8I8 e 11 e 18 I9I9 e 19 I 10 e 20 I 11

111 Tabelas de ações e transições: Estado inicial: 0Posições vazias: Erros Estado inicial: 0Posições vazias: Erros id+*()$ 0d 5d 4 1d 6act 2r 2d 7r 2 3r 4 4d 5d 4 5r 6 6d 5d 4 7d 5d 4 8d 6d 11 9r 1d 7r 1 10r 3 11r 5 ETF

112 Se houver mais de uma ação para a mesma entrada, a gramática não é SLR; ela pode ser CLR ou LALR. Se houver mais de uma ação para a mesma entrada, a gramática não é SLR; ela pode ser CLR ou LALR. A linguagem Pascal gera centenas de estados SLR e LALR e milhares de estados CLR; infactível à mão. A linguagem Pascal gera centenas de estados SLR e LALR e milhares de estados CLR; infactível à mão. id+*()$ 0d 5d 4 1d 6act 2r 2d 7r 2 3r 4 4d 5d 4 5r 6 6d 5d 4 7d 5d 4 8d 6d 11 9r 1d 7r 1 10r 3 11r 5 ETF


Carregar ppt "5.5.4 – Métodos para a construção da tabela de análise LR Tabela de análise LR = Tabela de análise LR = Tabela de ações Tabela de transições Gramáticas."

Apresentações semelhantes


Anúncios Google