Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Às vezes quando temos uma gramática ambígua podemos encontrar uma gra­
mática não-ambígua que gera a mesma linguagem. Algumas linguagen� livrês­
do-contexto, entretanto, podem ser geradas apenas por gramáticas ambíguas. 
Tais linguagens são chamadas inerentemente ambíguas. O Problema 2.29 pede 
que você prove que a linguagem { aibj ck I i = j ou j = k} é inerentemente 
ambígua. 
FORMA NORMAL DE CHOMSKY 
Quando se trabalha com linguagens livres-do-contexto, � freqüentemerite con­
veniente tê-las em forma simplificada. Uma das formas mais simples e mais 
. úteis é chamada forma normal de Chomsky. A forma normal de Chomsky é útil 
quando se quer dar a(goritmos para trabalhar com gramáticas livres-do-contexto, 
como fazemos nos Capítulos 4 e 7. 
DEFINIÇÃO 2.8
.:- � 
Uma gramática livre-do-contexto está na forma normal de
Chomsky se toda regra é da forma 
A-) BC 
A -) a 
onde a é qualquer terminal e A, B e C são quaisquer variáveis -
exceto que B e C não podem ser a variável inicial. Adicionalmente, 
permitimos a regra S -+ ê, ond_e Sé a variável inicial. 
TEOREMA 2.9 ...................................................................................................._ 
Qualquer li11guagem livre-do-contexto é gerada por uma gramática lm:e-do­
cont�xto p.a forma normal de Chomsky. 
Professor
Retângulo
Professor
Nota
Unmarked definida por Professor
r VA Pocl(•1110. ·oi1v ·n ·r qunl<Jt1 'l' l'l'flrnr.tica (} rrn forma nor-
.hom�k . A ·onv ·r:no t 'Ili víirios ·suírrio., li< • qw,iii nt; r ·gr:1 11 que vfr>lam 
uli 'tl' �,o snhst it nídn, por rc rnrn ·q11ivnl 'lll •:; <JII<� .,� ntfr:fo 6ria.,. Pri-
n,,•,rw·l . di ·i m:\m ). \11\Hl no :l V;lrÍ:Ív ·1 ini ·inl. Então, climirinmon ocl::i., a., regras 
fonnn A -> . ') :unh �111 ·li111i1rn1110s Lodos ns rcgrn uniuíritJs da forma 
. t / . • m :unho. os nsos, ·orrigimos o 11rn111:iti ·a para gnrnntir que ela ainda 
"rc n m . ma lin rng m. 1• innlmcnlc, e 11vcrtcmo0 n r!,!gras rcmancsc:cntcs na 
fi nna :tpr pri:tdn . 
. 
PROVA Primeiro, adicionamos uma nova variável inicial 80.� a regra So ➔ 8,
na qual era :1 variável inicial original. Essa mudança garante que a variável 
inicial não ocorre no lado direito de uma regra. 
· Segundo, cuidamos de todas as regras e. Removemos uma regra e, A➔ e, em
que A não é a variável inicial. Então, para cada ocorrência de A no lado direito
de uma regra, adicionamos uma nova regra com essa ocorrência apagada. Em
outras palavras, se R--+ uAv é uma regra na qual u e v são cadeias de variáveis e
terminais, adicionamos a regra R ➔ uv. Fazemos isso para cada ocorrência de A,
de modo que a regra R ➔ uAvAw nos·leva·a adicionar R ➔ uvAw, R ➔ uAvw
e R ➔ uvw. Se tivermos a regra R ➔ A, adicionamos R ➔ · e a menos que
tivéssemos previamente removido a regra R ➔ e. Repetimos esses passos até
que eliminemos todas as regras e que não envolvem a variável inicial.
Terceiro, lidamos com todas as regras unitárias. Removemos uma regra uni­
tária A ➔ B. E:0:tão, sempre que uma regra B ➔ u aparece, adicionamos a regra 
A ➔ u, a menos que isso tenha sido uma regra unitária previamente removida. 
Como antes, u é uma cadeia de variáveis e terminais. Repetimos esses passos até 
que eliminemos todas as regras unitárias. 
Finalmente, convertemos todas as regras remanescentes para a forma apro­
priada. Substituímos cada regra A ➔ u1 u2 · · · uk, onde k > 3 e cada Ui é uma 
variável ou símbolo terminal, pelas regras A -4 u1A1, A1 ➔ u2A2, A2 ➔ u3A3,
... , e Ak-2 ➔ Uk-l uk '. Os Ais são novas variáveis. Se k = 2, substituímos 
qualquer terminal Ui na(s) regra(s) precedente(s) com a nova variável Ui e adi­
cionamos a regra Ui➔ Ui, 
.......................................................................................................................................................................... .. 
EXEMPLO 2.10 ......................................................................................................................... .
Suponha que G6 seja a GLC abaixo e converta-a para a forma normal de Chomsky 
usando o procedimento de conversão que acaba de ser dado. A série de gramá­
ticas apresentadas ilustra os passos na conversão_- As re.gras mostradas em negrito 
acabaram de ser adicionadas. As regras mostradas em cinza (como em "ci·nz:a")
acabaram de ser removidas. 
1. A GLC original G6 é mostrada à esquerda. O resultado de se aplicar.o pri­
mciro passo para introduzir uma nova variável inicial aparece à direita.
So -► S 
ASAlalJ 
A -►DIS 
D -► b I ê
2. Remova as regras E n ➔ E, mostrado à esquerda e A ➔ e mostratlo à
direita.
' ' 
So '➔ S
S ➔ ASAI aB la 
A ➔ BISle 
B➔blê 
So ➔ S 
··s ➔ ASAI aB I a I SA I AS I S
A ➔ BISle
B➔b
3a.. Remova regras unitárias S ➔ S, mostrado à esquerda, e·S0 ➔ S, mostrado 
à direita. 
So ➔ S 
S -+ ASAI aB I a I SA I AS 1 8 
A ➔ BIS 
B-+ b' 
So -+ S I ASA I aB Ia I SA I AS
S ➔ .ASA I aB I a I SA I AS 
A-+BIS 
B ➔ b 
3b. · Remova as regras unitárias A ➔ B e A ➔ S. 
�� 
So ➔ ASA I aB I a I SA I AS 
S ➔ ASA I aB ! a I SA I AS 
A➔ BISlb 
So-+ AMd an·1 a 1 .SAI AS 
S ➔ AM I aB I a I SAI AS 
A ➔ S I b I ASA I aB Ia I SA I AS
B-+ b B-+ b 
- - . . -- - . -·
4. Converta as regràf remanescentes para a forma apropriada acrescentando
variáveis e regras adicionais. A gramática final em forma normal de Chomsky, a
seguir, é equivalente a G6 • (Na realidade, o procedimento dado no Teorema 2.9
produz diversas variáveis Ui juntamente com várias regras U{ -+ a. Simplifica­
mos a gramática resultante usando uma única variável U e a regra U ➔ a.)
S0 -+ AA1 1 UB Ia ISA IAS 
S-+ AA1 I. UB Ia ISA IAS 
A-+ b I AA1 1 UB Ia ISA IAS 
Ai -+ SA
U-+ a 
B-> b

Mais conteúdos dessa disciplina