Sei sulla pagina 1di 3

Linguagens Livres de Contexto

5.1. Introduo
Conclumos o captulo anterior provando que h algumas linguagens que no so regulares.
De facto h muitas linguagens no regulares, e so tantas que se podem classificar em vrias
famlias, como veremos posteriormente.
As linguagens livres de contexto constituem a famlia mais importante de linguagens, a ela
pertencendo as linguagens de programao. As linguagens regulares so um caso particular de
linguagens livres de contexto, constituindo uma sub-famlia destas.

Neste captulo estudaremos as linguagens livres de contexto usando sobretudo as


gramticas (livres de contexto) e suas propriedades. Como veremos no Captulo 6 os
autmatos finitos no so capazes de reconhecer linguagens livres de contexto no-regulares
por no terem memria.

Perguntas:
1) Qual a estrutura das gramticas lineares que j estudamos e como a gramtica de uma
GLC ou CFG ( Gramtica Livre de Contexto ou Context Free Grammar) ?
2) Quando (condio) uma linguagem livre de contexto?
3) A gramtica G=({S}, {a,b}, S, P} com produes
S aSa
S bSb
S
livre de contexto. A linguagem desta gramtica L(G) ={ww R: w {a,b}*}.

Pede-se: desenhar um autmato finito para a CFL L(G) ={wwR: w {a,b}*}, uma linguagem livre
de contexto no regular. Pode usar o JFLAP para apoiar. Primeiro tente sem o JFLAP.

4) Mostrar que a linguagem L = {anbm: nm } livre de contexto. Dica: Para isso tem que se
encontrar uma gramtica livre de contexto que a produza. Primeiro gere o caso onde n=m.
5)

Mostre como derivar a cadeia abbbaabbaabbaabbaabbababababa.

6) Considere-se a gramtica com produes S aSb | SS |


Pede-se:
a) Trata-se de uma gramtica livre de contexto e no linear (porqu?).
b) Mostre uma derivao para a cadeia aaaababbbaabb
c) Gera cadeias com um nmero de as igual ao nmero de bs (porqu ?), onde o
nmero de as em qualquer prefixo de qualquer cadeia maior ou igual ao n de bs

7) Seja o alfabeto ={x, y, z, +, - , ( , )}. Encontrar uma gramtica que gere todas as expresses
aritmticas possveis com este alfabeto, com por exemplo { x, y, z, x+y, x-y, x+(y-z), }.
Como se poder gerar x+(y-z) ?

8)

9) Diferencie uma derivao extrema esquerda de uma derivao pela extrema direita e d
um exemplo.
10) D a definio formal para uma rvore de derivao
11) Quando se tem uma rvore de derivao parcial
12) Qual a relao entre formas sentenciais e rvores de derivao
13) Qual a relao entre rvore de derivao e parse trees?
14) Como evitar a no parada do parsing ?
15) A gramtica
S aS
S bSS
S c uma s-gramtica. Por que?
16) Quando uma gramtica livre de contexto ambgua?
17)Quando uma linguagem livre de contexto no ambgua e quando inerentemente
ambgua.
18) Qual a aplicao mais importante das teoria das gramticas e linguagens?

Potrebbero piacerti anche