Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10....

22
Prof.: Leandro Israel Pinto

Transcript of Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10....

Page 1: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Prof.: Leandro Israel Pinto

Page 2: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Formas Normais

Forma Normal de Chomsky

Forma Normal de Greibach

Exercícios

Page 3: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

São usadas principalmente no

desenvolvimento de algoritmos

(destaque aos reconhecedores de

linguagens) e na prova de

teoremas.

Page 4: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Estabelecem restrições rígidas na definição de produções, sem reduzir o poder de geração das GLCs (Gramáticas Livres de Contexto);

Obtenção de gramáticas adequadas para o parsing e para obtenção de autômato de pilha para LLC

Forma Normal de Chomsky

𝐴 → 𝐵𝐶, 𝐴 → 𝑎

Forma Normal de Greibach

𝐴 → 𝑎𝛼, onde α é uma sequência de variáveis

Page 5: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Toda LLC (Linguagem Livre de

Contexto) sem 𝜀 tem uma gramática G na qual todas as produções são

da forma:

𝐴 → 𝐵𝐶

𝐴 → 𝑎

Page 6: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Para transformar uma GLC na forma

normal de Chomsky, deve-se executar

uma simplificação preliminar:

1. Eliminar símbolos inúteis;

2. Eliminar produções vazias (𝐴 → 𝜀);

3. Eliminar produções unitárias (𝐴 →𝐵);

Page 7: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Com a gramática simplificada,

faz-se a transformação para Forma

Normal de Chomsky:

1. Todas as produções com tamanho

maior que 2 devem ser alteradas

para terem somente variáveis;

2. Todas as produções com tamanho

maior ou igual a três devem ser

quebradas em produções cascatas,

cada uma com duas variáveis:

Page 8: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

bT

aT

bE

aE

TEE

Já está na

Forma Normal

de Chomsky

Produção maior

que 2

Page 9: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

bT

aT

bE

aE

TEE

P

bB

aA

Cria-se uma

variável para

cada símbolo

terminal

Page 10: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

bT

aT

bE

aE

TEE

P

bB

aA

Substitui-se

P

bT

aT

bE

aE

EPTE

Page 11: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Produção maior

ou igual a 3

P

bT

aT

bE

aE

EPTE

Page 12: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Quebra-se

P

bT

aT

bE

aE

PTC

ECE

1

1

Page 13: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

P

bT

aT

bE

aE

PTC

ECE

1

1

bT

aT

bE

aE

TEE

Page 14: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Produções da Forma: 𝐴 → 𝑎𝛼, onde a é terminal e α é uma sequência de zero ou mais variáveis;

Mais complexo converter para essa

forma;

Mesmo partindo de uma gramática na forma

normal de Chomsky;

Passos para transformação:

1. Simplificação;

2. Renomeação de variáveis;

3. Transformar para 𝐴𝑟 → 𝐴𝑠𝛼, onde 𝑟 ≤ 𝑠 (e recursões);

4. Eliminar inícios por variável (𝐴1 →𝐴2𝐴2);

Page 15: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Transformação para a Forma Normal

de Greibach

bSSA

aAAS

|

|

bAAA

aAAA

|

|

112

221

Renomeação

em ordem

crescente

Page 16: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Eliminar 𝐴𝑟 → 𝐴𝑠𝛼, onde 𝑟 > 𝑠

Excluir tal produção

E incluir 𝐴𝑟 → 𝛽𝛼, onde β é o lado

direito das produções de As;

baAAAAA

aAAA

||

|

11222

221

bAAA

aAAA

|

|

112

221

Page 17: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Eliminar recursões

baAAAAA

aAAA

||

|

11222

221

BAAAAB

bBBaAbaAA

aAAA

1212

112

221

|

|||

|

Page 18: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Colocar terminal no início

BAAAAB

bBBaAbaAA

aAAA

1212

112

221

|

|||

|

BbBABBAaABbABAaAbBABAaAbAAaAB

bBBaAbaAA

abBABAaAbAAaAA

111111111111

112

2212211

|||||||

|||

||||

Page 19: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Entende-se por recursão a

esquerda a ocorrência da seguinte

situação:

𝐴 ⇒+ 𝐴𝛼

Uma variável deriva ela mesma, de

forma direta ou indireta, como

símbolo mais a esquerda de uma

subpalavra gerada.

Page 20: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Elimina-se a recursão a esquerda

executando-se as quatro primeiras

etapas do algoritmo de Greibach.

1. Simplificação da Gramática

2. Renomeação das variáveis em

ordem crescente

3. Qualquer produção é da forma

𝐴𝑟 → 𝐴𝑠𝛼 𝑜𝑛𝑑𝑒 𝑟 < 𝑠

4. Exclusão das recursões

Page 21: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

Coloque a gramática a seguir na

Forma de Chomsky

bbASbSB

aaASA

ASBS

||

|

|

Page 22: Prof.: Leandro Israel Pintoleandroip.com/wp-content/uploads/2015/09/Aula-12-Formas... · 2015. 10. 4. · de Autômatos, Linguagens e Computação. Ed. Campus, 2002. MENEZES, P. F.

HOPCROFT, J. E., ULLMAN, J. D. e

MOTWANI, R. Introdução à Teoria

de Autômatos, Linguagens e

Computação. Ed. Campus, 2002.

MENEZES, P. F. B. Linguagens

Formais e Autômatos. Série Livros

Didáticos n°3. 4ª edição. Ed.

Sagra Luzzato, 2002.