Gramáticas

9
Gramáticas Gramáticas Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011 Universidade Católica de Pelotas Escola de Informática Bacharelado em Ciência da Computação Bacharelado em Sistemas de Informação

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

Transcript of Gramáticas

Page 1: Gramáticas

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

Page 2: Gramáticas

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 ).

Page 3: Gramáticas

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}

Page 4: Gramáticas

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.

Page 5: Gramáticas

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.

Page 6: Gramáticas

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.

Page 7: Gramáticas

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}.

Page 8: Gramáticas

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

Page 9: Gramáticas

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).