Exerccio 2.9
A linguagem dada pode ser gerada pela seguinte gramtica (V, , R, S):
So ABC |
ABC AB | BC
AB aIbC
I aIb |
C cC |
BC AbKc
K bKc |
A aA |
Iremos argumentar agora que essa gramtica gera a linguagem como pedido.
A primeira produo partindo da varivel inicial pode produzir uma cadeia
vazia, j satisfazendo o caso da linguagem para i = j = k = 0. Caso seja pro-
duzida a varivel ABC, a prxima produo escolhe por uma das duas condies
da linguagem: AB ir gerar cadeias com i = j e BC ir gerar cadeias com
j = k. Em ambos os casos teremos ento a produo de cadeias similares. Seja
o exemplo da produo AB aIbC: A cadeia aIbC tem as variveis I e C,
sendo que uma delas permite a criao de mais caracteres ab (sempre casados)
e outra um nmero arbitrrio de carcteres c. O mesmo vale para a produo
BC AbKc, porm com as variveis K e A, gerando cadeias em que vale j = k.
A gramtica ambgua, visto que ela possui duas derivaes mais a esquerda
diferentes para a cadeia abc, ou para qualquer cadeia com i = j = k. Iremos
derivar o exemplo abc: Podemos derivar essa cadeia com So ABC, ABC
AB,AB aIbC, aIbC abC, abC abc ou tambm com So ABC,
ABC CB,CB AbKC, AbKC Abc, Abc abc.
Exerccio 2.4.E
Uma gramtica que gera todos os palindromos no alfabeto {0, 1} descrita a
seguir:
V = {So , P }
= {0, 1}
S = So
So 0P 0 | 1P 1
P 0P 0 | 1P 1 | | 1 | 0
Exerccio 1.21.B
Seguindo o mtodo apresentado no livro texto, iremos criar uma gramtica com
uma varivel para cada estado do AFD, so elas {S1 , S2 , S3 }. A gramtica
descrita a seguir:
V = {S1 , S2 , S3 }
= {a, b}
S = S1
S1 aS2 | | bS2
S2 bS3 | aS2
S3 aS1 | | bS2
S1 aS2
aS2 aaS2
aaS2 aabS3
aabS3 aabaS1
aabaS1 aaba