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

Gramáticas

  • 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

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