Transformação de AP para GLC

Documentos relacionados
Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto

Gramática Livre de Contexto

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Gramática Livre de Contexto

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Gramática. Gramática

Expressões Regulares e Gramáticas Regulares

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Gramá3ca Livre de Contexto (GLC)

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Formas Normais sobre GLC's

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Teoria da Computação Aula 02 Introdução

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

Máquina de Turing. Teoria da Computação. Teoria da Computação. Histórico da Computação:

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

Aula 7: Autômatos com Pilha

Autómatos de pilha e Gramáticas independentes de contexto

Autômato com Pilha. Autômato com Pilha. Autômato com Pilha

Aula 8: Gramáticas Livres de Contexto

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

IV Gramáticas Livres de Contexto

Autómatos de pilha e GIC

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

LLC's: Lema do Bombeamento e Propriedades de Fechamento

Autómatos de Pilha e Linguagens Livres de Contexto

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

Modelos de Computação Folha de trabalho n. 8

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Linguagens Formais e Autômatos

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

UNIVERSIDADE DA BEIRA INTERIOR

Linguagens Livres de Contexto

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Linguagens Formais e Autômatos P. Blauth Menezes

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

Linguagens Formais e Autômatos (LFA)

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

Linguagens Livres do Contexto. Adaptado de H. Brandão

Como construir um compilador utilizando ferramentas Java

Linguagens livres de contexto e autômatos de pilha

Como construir um compilador utilizando ferramentas Java

Linguagens Formais e Autômatos P. Blauth Menezes

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

SCC 205 Teoria da Computação e Linguagens Formais

Matemática Discreta para Ciência da Computação

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos

Fundamentos da Teoria da Computação

Autômatos Finitos Não Determinís5cos (AFN)

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação

Universidade Federal de Alfenas

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Linguagens e Programação Automátos Finitos. Paulo Proença

Gramáticas Livres de Contexto Parte 1

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 3-05/08/ Prof. Marcus Ramos

Apostila 03 - Linguagens Livres de Contexto Exercícios

Universidade Federal de Alfenas

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

Universidade Federal de Uberlândia Mestrado em Ciência da Computação

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

Marcos Castilho. DInf/UFPR. 21 de março de 2019

9.3 Gramáticas Irrestritas

Universidade Federal de Alfenas

Automata e Linguagens Formais

a * Minimização de AFD AFD equivalente, com o menor número de estados possível

SCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha

V Teoria de Parsing. Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada

ANEXO I BICICLETA ESCOLAR. Modelo de ofício para adesão à ata de registro de preços (GRUPO 1)

Automata e Linguagens Formais

Sistema de Numeração Octal

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

Sistema de Numeração Octal

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

Linguagens Regulares. Prof. Daniel Oliveira

Autômatos finitos não-determinísticos

INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto

Transcrição:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de AP para GLC Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa

Prof. Yandre Maldonado - 2 A técnica que será apresentada tende a criar um número elevado de símbolos não-terminais e produções; Com isso, sua aplicação manual fica restrita a APs bastante simples; A aplicação da técnica de eliminação de símbolos inúteis tende a melhorar o resultado obtido.

Seja o AP P = Σ, Γ, S, S 0, δ, B Prof. Yandre Maldonado - 3 Define-se a GLC correspondente G = V, T, P, S, onde: V = {Z} {A st A Γ s, t S} T = Σ S = Z e P...

Prof. Yandre Maldonado - 4 Inicialmente cria-se regras: Z B S 0t t S Em seguida, adiciona-se regras: A sr a r, s S, A Γ, a (Σ {λ}), r, λ δ (s, a, A) E finalmente, adiciona-se as regras: A sq aa 1 rt 1A2 t 1 t 2...Am t m-1q A Γ, a (Σ {λ}), r, A 1 A 2...A m δ (s, a, A), s, q, r, t 1,..., t m-1 S

Exemplo 1: Considere o AP: Prof. Yandre Maldonado - 5 P= {a, b}, {A, B}, {Q, R}, Q, δ, B onde δ é: δ(q, a, B) = { Q, A } δ(q, a, A) = { Q, AA } δ(q, b, A) = { R, λ } δ(r, b, A) = { R, λ } <a,b>/a <a,a>/aa Q <b,a>/ λ L(P) = {a n b n n>0} R <b,a>/ λ

Prof. Yandre Maldonado - 6 A gramática formada seria G = V, T, P, S onde: V = {Z, A QQ, A QR, A RQ, A RR, B QQ, B QR, B RQ, B RR } 1 T = {a, b} S = Z e P... 1 A tamanho de V é dado por 1 + Γ * S 2

Prof. Yandre Maldonado - 7 Inicialmente cria-se as regras: Z B QQ Z B QR A função de transição δ(q, b, A) = { R, λ } dá origem à regra: A QR b A função de transição δ(r, b, A) = { R, λ } dá origem à regra: A RR b

A função de transição δ(q, a, B) = { Q, A } dá origem às regras: B QQ aa QQ B QR aa QR Prof. Yandre Maldonado - 8

Prof. Yandre Maldonado - 9 A função de transição δ(q, a, A) = { Q, AA } dá origem às regras: A QQ aa QQ A QQ A QQ aa QR A RQ A QR aa QQ A QR A QR aa QR A RR

Prof. Yandre Maldonado - 10 Gramática resultante: Z B QQ B QR A QR b aa QQ A QR aa QR A RR A RR b B QQ aa QQ B QR aa QR A QQ aa QQ A QQ A QQ aa QR A RQ Re-nomeando os não-terminais: Z = S B QQ = A B QR = B A QR = C A QQ = D A RR = E A RQ = F

Prof. Yandre Maldonado - 11 Gramática resultante: S A B C b adc ace E b A ad B ac D add D acf Eliminando símbolos inúteis. Símbolos que geram terminais: {C, E, B, S}

Prof. Yandre Maldonado - 12 Gramática resultante: S B C b ace E b B ac Eliminando símbolos inúteis. Todos os não-terminais são alcançáveis a partir de S.

Gramática resultante: S ac C b acb Prof. Yandre Maldonado - 13 Eliminada a produção unitária. L(G) = {a n b n n>0}

Exemplo 2: Considere o AP: Prof. Yandre Maldonado - 14 P= {0, 1}, {B, U, V}, {S, R}, S, δ, B onde δ é: δ(s, λ, B) = { S, λ } δ(s, 0, B) = { S, UV } δ(s, 0, U) = { S, UVU } δ(s, 1, U) = { R, λ } δ(r, 1, U) = { R, λ } δ(r, 1, Z) = { R, λ } δ(r, λ, Z) = { R, λ }

Exemplo 2: <1,U>/ λ S R Prof. Yandre Maldonado - 15 < λ,b>/ λ <0,B>/UV <0,U>/UVU L(P) = {0 n 1 m n m 2n} <1,V>/ λ <1,U>/ λ < λ,v>/ λ

Prof. Yandre Maldonado - 16 A gramática formada seria G = V, T, P, S onde: V = {Z, B SS, B SR, B RS, B RR, U SS, U SR, U RS, U RR, V SS, V SR, V RS, V RR } 1 T = {0, 1} S = Z e P... 1 A tamanho de V é dado por 1 + Γ * S 2

Prof. Yandre Maldonado - 17 Inicialmente cria-se as regras: Z B SS Z B SR A função de transição δ(s, λ, B) = { S, λ } dá origem à regra: B SS λ A função de transição δ(r, λ, V) = { R, λ } dá origem à regra: V RR λ

Prof. Yandre Maldonado - 18 A função de transição δ(s, 1, U) = { R, λ } dá origem à regra: U SR 1 A função de transição δ(r, 1, V) = { R, λ } dá origem à regra: V RR 1 A função de transição δ(r, 1, U) = { R, λ } dá origem à regra: U RR 1

Prof. Yandre Maldonado - 19 A função de transição δ(s, 0, B) = { S, UV } dá origem às regras: B SR 0U S_ V _R B SR 0U S_ V _R B SS 0U S_ V _S B SS 0U S_ V _S

Prof. Yandre Maldonado - 20 A função de transição δ(s, 0, B) = { S, UV } dá origem às regras: B SR 0U SS V SR B SR 0U SR V RR B SS 0U SS V SS B SS 0U SR V RS

Prof. Yandre Maldonado - 21 A função de transição δ(s, 0, U) = { S, UVU } dá origem às regras (parte 1): U SR 0U S_ V U _R U SR 0U S_ V U _R U SR 0U S_ V U _R U SR 0U S_ V U _R

Prof. Yandre Maldonado - 22 A função de transição δ(s, 0, U) = { S, UVU } dá origem às regras (parte 1): U SR 0U SS V SS U SR U SR 0U SS V SR U RR U SR 0U SR V RS U SR U SR 0U SR V RR U RR

Prof. Yandre Maldonado - 23 A função de transição δ(s, 0, U) = { S, UVU } dá origem às regras (parte 2): U SS 0U S_ V U _S U SS 0U S_ V U _S U SS 0U S_ V U _S U SS 0U S_ V U _S

Prof. Yandre Maldonado - 24 A função de transição δ(s, 0, U) = { S, UVU } dá origem às regras (parte 2): U SS 0U SS V SS U SS U SS 0U SS V SR U RS U SS 0U SR V RS U SS U SS 0U SR V RR U RS

Gramática resultante: Z B SS B SR B SS λ 0U SS V SS 0U SR V RS V RR λ 1 U RR 1 Eliminando símbolos inúteis Símbolos que alcançam terminais ou λ (passo 1): {B SS, V RR, U SR, U RR } Prof. Yandre Maldonado - 25 B SR 0U SS V SR 0U SR V RR U SR 1 0U SS V SS U SR 0U SS V SR U RR 0U SR V RS U SR 0U SR V RR U RR U SS 0U SS V SS U SS 0U SS V SR U RS 0U SR V RS U SS 0U SR V RR U RS

Gramática resultante: Z B SS B SR B SS λ 0U SS V SS 0U SR V RS V RR λ 1 U RR 1 Eliminando símbolos inúteis Símbolos que alcançam terminais ou λ (passo 2): {B SS, V RR, U SR, U RR, Z, B SR } Prof. Yandre Maldonado - 26 B SR 0U SS V SR 0U SR V RR U SR 1 0U SS V SS U SR 0U SS V SR U RR 0U SR V RS U SR 0U SR V RR U RR U SS 0U SS V SS U SS 0U SS V SR U RS 0U SR V RS U SS 0U SR V RR U RS

Gramática resultante: Z B SS B SR B SS λ V RR λ 1 U RR 1 Eliminando símbolos inúteis Símbolos que alcançam terminais ou λ : {B SS, V RR, U SR, U RR, Z, B SR } Prof. Yandre Maldonado - 27 B SR 0U SR V RR U SR 1 0U SR V RR U RR

Prof. Yandre Maldonado - 28 Gramática resultante: Z B SS B SR B SS λ V RR λ 1 U RR 1 B SR 0U SR V RR U SR 1 0U SR V RR U RR Re-nomeando os não-terminais: Z = S B SS = A B SR = B V RR = C U SR = D U RR = E

Gramática resultante: Prof. Yandre Maldonado - 29 S A B A λ C λ 1 E 1 B 0DC D 1 0DCE Eliminando as produções unitárias do tipo A B.

Gramática resultante: Prof. Yandre Maldonado - 30 S λ 0DC C λ 1 E 1 D 1 0DCE Eliminando produções vazias (exceto S λ) e produções do tipo A a (exceto na recursão de D).

Gramática resultante: S λ 0D 0D1 D 1 0D11 0D1 Prof. Yandre Maldonado - 31

Bibliografia Prof. Yandre Maldonado - 32 DELAMARO, Márcio Eduardo. Linguagens Formais e Autômatos. UEM, 1998; VIEIRA, Newton José. Introdução aos Fundamentos da Computação. São Paulo: Editora Pioneira Thomson Learning, 2006; MENEZES, Paulo Blauth. Linguagens Formais e Autômatos. Porto Alegre: Editora Sagra-Luzzatto, 1998.