Você está na página 1de 86

Fundamentos da

Computação
Profa. Maely Moraes
Slides baseados no Livro: "Linguagens e Máquinas:
Uma Introdução aos Fundamentos da Computação"
de
Newton José Vieira
Capítulo 3: Autômatos de Pilha
Sumário
1. Uma Introdução Informal
2. Autômatos de Pilha Determinı́sticos
3. Autômatos de Pilha Não Determinı́sticos
4. Gramáticas Livres do Contexto
i. Definição e exemplos
ii. Derivações e ambiguidade
iii. Manipulação de gramáticas e formas normais
iv. GLCs e autômatos de pilha
5. Linguagens Livres do Contexto: Propriedades
Uma Introdução Informal
Linguagens não regulares
Uma Introdução Informal
Arquitetura de um autômato de pilha
Uma Introdução Informal
Transição de um AP
Uma Introdução Informal
Um exemplo de AP
Uma Introdução Informal
Computação de um AP
Uma Introdução Informal
Outros exemplos/condições para reconhecimento
Uma Introdução Informal
Um exemplo estranho
Autômatos de Pilha Determinı́sticos
Transições compatı́veis
Autômatos de Pilha Determinı́sticos
O que é AP determinı́stico?
Autômatos de Pilha Determinı́sticos
A linguagem reconhecida por um APD
Autômatos de Pilha Determinı́sticos
Exemplo
Autômatos de Pilha Determinı́sticos
Outro exemplo
Autômatos de Pilha Determinı́sticos
Mais um exemplo
Autômatos de Pilha Determinı́sticos
Algoritmo para APD
Autômatos de Pilha Não Determinı́sticos
O que é AP não determinı́stico?
Autômatos de Pilha Não Determinı́sticos
A linguagem reconhecida por um APN
Autômatos de Pilha Não Determinı́sticos
Exemplo de APN
Autômatos de Pilha Não Determinı́sticos
Exemplo não tratável por APD
Autômatos de Pilha Não Determinı́sticos
Reconhecimento por estado final
Autômatos de Pilha Não Determinı́sticos
Reconhecimento por pilha vazia
Autômatos de Pilha Não Determinı́sticos
Equivalência de métodos de reconhecimento
Autômatos de Pilha Não Determinı́sticos
Equivalência de métodos de reconhecimento
Autômatos de Pilha Não Determinı́sticos
Equivalência de métodos de reconhecimento
Gramáticas Livres do Contexto
Gramática em notação BNF
Gramáticas Livres do Contexto
Gramática em notação BNF (cont.)
Gramáticas Livres do Contexto: Definição e exemplos
O que é gramática livre do contexto?
Gramáticas Livres do Contexto: Definição e exemplos
Mais exemplos de GLCs
Gramáticas Livres do Contexto: Definição e exemplos
GLC para expressões aritméticas
Gramáticas Livres do Contexto: Definição e exemplos
O que é linguagem livre do contexto?
Gramáticas Livres do Contexto: Derivações e ambiguidade
O conceito de árvore de derivação
Gramáticas Livres do Contexto: Derivações e ambiguidade
Exemplo de construção de uma AD para t*(t+t)
Gramáticas Livres do Contexto: Derivações e ambiguidade
Exemplo de construção de uma AD (cont.)
Gramáticas Livres do Contexto: Derivações e ambiguidade
Exemplo de construção de uma AD (cont.)
Gramáticas Livres do Contexto: Derivações e ambiguidade
Exemplo de construção de uma AD (cont.)
As duas opções:
Gramáticas Livres do Contexto: Derivações e ambiguidade
Exemplo de construção de uma AD/conclusão
Gramáticas Livres do Contexto: Derivações e ambiguidade
Ambiguidade
Gramáticas Livres do Contexto: Derivações e ambiguidade
Demonstrando ambiguidade
Gramáticas Livres do Contexto: Derivações e ambiguidade
Derivações mais à esquerda e mais à direita
Gramáticas Livres do Contexto: Derivações e ambiguidade
Ambiguidade e DME e DMD
Gramáticas Livres do Contexto: Derivações e ambiguidade
Linguagens inerentemente ambı́guas
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Variáveis inúteis
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo de variáveis inúteis
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Eliminação de variáveis inúteis
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Determinando variáveis que produzem sentenças
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Determinando variáveis alcançáveis a partir de P
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de variáveis inúteis
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Eliminação de uma regra
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de uma regra
O conceito de variáveis anuláveis
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Eliminação de regras λ
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de regras λ
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
O conceito de variáveis encadeadas
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Algoritmo para determinar variáveis encadeadas
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Eliminando regras unitárias
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de regras unitárias
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Interação entre os métodos de eliminação
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Garantido consistência das eliminações
Gramática na forma normal de Chomsky
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Transformação para a forma normal de Chomsky
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/obtenção de gramática na FNC
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/obtenção de gramática na FNC(cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Eliminação de regras recursivas à esquerda
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de regras recursivas à esquerda
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/eliminação de variável em regra
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Gramática na forma normal de Greibach
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Transformação para a forma normal de Greibach
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Transformação para a FNG (cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG (cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG (cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG (cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG (cont.)
Gramáticas Livres do Contexto:
Manipulação de gramáticas e formas normais
Exemplo/transformação para a FNG (cont.)
Gramáticas Livres do Contexto e autômatos de pilha
Obtenção de AP a partir de GLC
Gramáticas Livres do Contexto e autômatos de pilha
Obtenção de AP a partir de GLC/Exemplo
Gramáticas Livres do Contexto e autômatos de pilha
Obtenção de GLC a partir de AP
Gramáticas Livres do Contexto e autômatos de pilha
Obtenção de GLC a partir de AP/Exemplo
Linguagens Livres do Contexto: Propriedades
O lema do bombeamento para LLCs
Linguagens Livres do Contexto: Propriedades
Exemplo de uso do lema do bombeamento
Linguagens Livres do Contexto: Propriedades
Exemplo de uso do lema do bombeamento
Linguagens Livres do Contexto: Propriedades
Algumas propriedades de fechamento
Linguagens Livres do Contexto: Propriedades
Não fechamento
Linguagens Livres do Contexto: Propriedades
Um teorema importante
Linguagens Livres do Contexto: Propriedades
Problemas decidı́veis e indecidı́veis

Você também pode gostar