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

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

Linguagens Livres de Contexto

Apresentações semelhantes


Apresentação em tema: "Linguagens Livres de Contexto"— Transcrição da apresentação:

1 Linguagens Livres de Contexto

2 Linguagens Regulares

3 Linguagens Livres de Contexto
Linguagens Regulares

4 Linguagens Livres de Contexto
Gramáticas Livres de Contexto Autômatos de Pilha pilha autômato

5 Gramáticas Livres de Contexto

6 Exemplo Uma gramática livre de contexto : Uma derivação:

7 Uma gramática livre de contexto :
Outra derivação:

8 (((( ))))

9 Exemplo Uma gramática livre de contexto : Uma derivação:

10 Uma gramática livre de contexto :
Outra derivação:

11

12 Exemplo Uma gramática livre de contexto : Uma derivação:

13 Uma gramática livre de contexto :
Uma derivação:

14 () ((( ))) (( ))

15 Definição: Gramática Livre de Contexto
Variáveis Símbolos terminais Variável inicial Produções da forma: é um string de variáveis e terminais

16 Definição: Linguagem Livre de Contexto
Uma linguagem é livre de contexto se existe uma gramática livre de contexto tal que

17 Ordem de Derivação derivação mais à esquerda :
derivação mais à direita:

18 derivação mais à esquerda:
derivação mais à direita:

19 Árvores de Derivação

20

21

22

23

24 Árvore de derivação

25 Árvore de derivação resultado

26 Partial Derivation Trees
Árvore de derivação parcial

27 Árvore de derivação parcial

28 forma sentencial Árvore de derivação parcial resulta

29 À vezes, a ordem de derivação não importa
Mais à esquerda: Mais à direita: Mesma árvore de derivação

30 Ambiguidade

31 derivação mais à esquerda

32 derivação mais à esquerda

33 Duas árvores de derivação

34 A gramática é ambígua: string tem duas árvores de derivação

35 Definição: Uma gramática livre de contexto é ambígua se algum string
tem duas ou mais árvores de derivação

36 Em outras palavras: Uma gramática livre de contexto é ambígua se algum string tem duas ou mais derivações mais à esquerda (ou mais à direita)

37 Porque ambiguidade importa?
tome

38

39

40 Resultado correto:

41 Ambiguidade é ruim para linguagens de programação Gostaríamos de remover ambiguidade

42 Corrigindo a gramática ambígua:
Nova gramática não ambígua:

43

44 Única árvore de derivação

45 A gramática : não é ambígua: Todo string tem uma única árvore de derivação

46 Ambiguidade Inerente Algumas linguagens livres de contexto
possuem apenas gramáticas ambíguas Exemplo:

47 O string possui duas árvores de derivação


Carregar ppt "Linguagens Livres de Contexto"

Apresentações semelhantes


Anúncios Google