Linguagens Livres de Contexto Linguagens Regulares 3
Linguagens Livres de Contexto Gramáticas Livres de Contexto Autômatos de Pilha pilha autômato 4
Gramáticas Livres de Contexto 5
Exemplo Uma gramática livre de contexto : Uma derivação: 6
Uma gramática livre de contexto : Outra derivação: 7
Exemplo Uma gramática livre de contexto : Uma derivação: 9
Uma gramática livre de contexto : Outra derivação: 10
11
Exemplo Uma gramática livre de contexto : Uma derivação: 12
Uma gramática livre de contexto : Uma derivação: 13
Definição: Gramática Livre de Contexto Gramática Variáveis Símbolos Variável terminais inicial Produções da forma: é um string de variáveis e terminais 15
Definição: Linguagem Livre de Contexto Uma linguagem é livre de contexto se existe uma gramática livre de contexto tal que 16
Ordem de Derivação derivação mais à esquerda : derivação mais à direita: 17
derivação mais à esquerda: derivação mais à direita: 18
Árvores de Derivação 19
20
21
22
23
Árvore de derivação 24
Árvore de derivação resultado 25
Árvore de derivação parcial 26
Árvore de derivação parcial 27
forma sentencial Árvore de derivação parcial resulta 28
À vezes, a ordem de derivação não importa Mais à esquerda: Mais à direita: Mesma árvore de derivação 29
Ambiguidade 30
derivação mais à esquerda 31
derivação mais à esquerda 32
Duas árvores de derivação 33
A gramática é ambígua: string tem duas árvores de derivação 34
Definição: Uma gramática livre de contexto é ambígua se algum string tem duas ou mais árvores de derivação 35
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) 36
Porque ambiguidade importa? tome 37
38
39
Resultado correto: 40
• Ambiguidade é ruim para linguagens de programação • Gostaríamos de remover ambiguidade 41
Corrigindo a gramática ambígua: Nova gramática não ambígua: 42
43
Única árvore de derivação 44
A gramática : não é ambígua: Todo string tem uma única árvore de derivação 45
Ambiguidade Inerente Algumas linguagens livres de contexto possuem apenas gramáticas ambíguas Exemplo: 46