Upload
lenore
View
22
Download
0
Embed Size (px)
DESCRIPTION
Universidade Católica de Pelotas Escola de Informática Bacharelado em Ciência da Computação Bacharelado em Sistemas de Informação. Gramáticas. Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011. Gramáticas. Uma gramática é uma quádrupla, G=(V, T, P, S), onde: - PowerPoint PPT Presentation
Citation preview
GramáticasGramáticas
Prof. Luiz A M Palazzo
Pelotas, fevereiro de 2011
Universidade Católica de PelotasEscola de Informática
Bacharelado em Ciência da Computação
Bacharelado em Sistemas de Informação
Linguagens Formais e Autômatos - 04 2
GramáticasGramáticas
• Uma gramática é uma quádrupla, G=(V, T, P, S), onde:
• V é um conjunto de símbolos variáveis ou não-terminais.
• T é um conjunto de símbolos terminais, disjunto de V.
• P é um conjunto finito de regras de produção.
• S é um elemento de V denominado “variável inicial”.
Exemplo:
G = ( V = {S, X}, T = {a, b}, P = {S a | aX, X b | bX}, S ).
Linguagens Formais e Autômatos - 04 3
Regras de ProduçãoRegras de Produção
• São pares do tipo (a, b), representados por ab, onde a (VT)+ e b (VT)*.
• Definem as condições de geração das palavras da linguagem.
• Abreviação: ab1, ab2, ..., abn por ab1|b2|...|bn.
• A aplicação de uma regra de produção chama-se uma derivação.
P= {SaX|bX, Xa|b|X}
Linguagens Formais e Autômatos - 04 4
DerivaçãoDerivação
• Seja G=(V,T,P,S) uma gramática. Uma derivação é um par da relação denotada por , com domínio em (VT)+ e contradomínio em (VT)*.
• Um par (a,b) da relação é denotado de forma infixa: ab.
Seqüência de Derivação
Seja G=(V,T,P,S)=({S,X},{a,b},{SaS|X,Xba|X},S).
Uma seqüência de derivação para produzir a palavra “aaba” nesta gramática é: S aS aaS aaX aaba.
Linguagens Formais e Autômatos - 04 5
Definição Indutiva de DerivaçãoDefinição Indutiva de Derivação
• Para toda produção da forma Sb, onde S é o símbolo inicial de G, tem-se que Sb.
• Para todo par ab, onde b=uvw, se vt é regra de P, então autw.
• Portanto uma derivação é a substituição de uma subpalavra, de acordo com uma regra de produção.
Linguagens Formais e Autômatos - 04 6
NotaçãoNotação * Zero ou mais passos de derivação sucessivos. + Um ou mais passos de derivação sucessivos. n Exatamente n passos de derivação sucessivos.
• Uma gramática é um formalismo gerador, pois permite derivar (gerar) todas as palavras da linguagem que representa.
Linguagens Formais e Autômatos - 04 7
Linguagem GeradaLinguagem Gerada
• Seja G = (V, T, P, S) uma gramática.
• A linguagem gerada pela gramática G, denotada por L(G) ou GERA(G), é composta por todas as palavras formadas por símbolos terminais deriváveis a partir do símbolo inicial S.
• L(G) = {w T* | S + w}.
Linguagens Formais e Autômatos - 04 8
ExemploExemplo
• A gramática abaixo gera o conjunto dos números naturais:
• G=(V,T,P,S)=({S, D}, {0,1,...,9}, {SD|DS, D0|1|...|9}, S).
Por exemplo, gerar 593:
S DS 5S 5DS 59S 59D 593
Linguagens Formais e Autômatos - 04 9
Gramáticas EquivalentesGramáticas Equivalentes
• Duas gramáticas, G1 e G2 são ditas ser equivalentes se e somente se geram a mesma linguagem, isto é:
• GERA(G1) = GERA(G2).