Académique Documents
Professionnel Documents
Culture Documents
Correction TD3 EAD
Correction TD3 EAD
1 / 27
Exercice 1
2 - Trouver L(G1)
2 / 27
4 - La grammaire est-elle ambigüe ? Justifier.
3 / 27
Exercice 2
ε,ε/Z0 ε,Z0/Z0
a,Z0/aZ0 a,a/aa
a,b/ε
b,Z0/bZ0 b,a/ε
b,b/bb
4 / 27
L3 = {ambncm , n≥0, m > 0}
Automate à pile pour L3
5 / 27
L4 = {anbmcmd2n, n≥0 et m≥0}
Automate à pile pour L4
C
as
n = 0
n=0 0
m=
6 / 27
2 - Donner une grammaire qui le génère.
S →SaSbS | SbSaS | ε
A →aAc | aBc
B →bB | ε
A →aAdd | B
B →bBc | ε
7 / 27
Exercice 3
1* + 10* 1* 0
8 / 27
G = {{A, B, C, D, E}, {0, 1}, P, A} P : l’ensemble des productions
suivantes :
A →1E| 1B
B →0B| 0D| 1C
C →0D| 1C
D →ε
E →1E| ε
9 / 27
{w | w ∈{0, 1}* et w contient la sous-chaîne 00 ou 11}
0
0 A→1A|0A|0B|1C
B→1A|0D
A 0,1 D 0,1 C→1D|0A
D→1D|0D|ε
0 1
1
C
10 / 27
{w | w ∈{0, 1}* et w ne termine pas par 01}
11 / 27
Exercice 4
12 / 27
On obtient la grammaire suivante équivalente à G2 :
S’→S|ε
S →SaAb|aAb|Sab|ab|bBaS|baS|bBa|ba
A →bAa|ba
B→aBb|ab
14 / 27
4 - Éliminer la récursivité à gauche dans chacune des ces
grammaires.
Grammaire G2
S →SaAb|bBaS|ε
A →bAa|ε
B →aBb|ε
Nous devons éliminer la récursivité après l’élimination des
productions ε. Il n’y a pas de cycles
S’→S|ε
S →SaAb|aAb|Sab|ab|bBaS|baS|bBa|ba
A →bAa|ba
B→aBb|ab
15 / 27
Nous choisissons l’ordre de traitement suivant : S’, S, A, B
Traitement de S’→S|ε : pas de récursivité directe.
Traitement de S→SaAb|aAb|Sab|ab|bBaS|baS|bBa|ba
Rappel
A → Aα|β
A → βA’
A’ → αA’|ε
S →aAbS’’ |abS’’|bBaSS’’|baSS’’|bBaS’’|baS’’
S’’ →aAbS’’|abS’’|ε
16 / 27
Grammaire G3
S →ST|SSb|TS|a
T →Sa|Tb|ε
S →ST|SSb|TS|a|S
S →ST|SSb|TS|a|S
T →Sa|Tb|b
17 / 27
Cette grammaire présente un cycle, il faut alors éliminer les
productions unitaires, la grammaire devient:
S →ST|SSb|TS|a
T →Sa|Tb|b
Pour : S →ST|SSb|TS|a
S →TSS’|aS’
S’→TS’|SbS’|ε
Pour : T →Sa|Tb|b
Remplacement de S dans les productions de T :
T→TSS’a|aS’a|Tb|b on obtient :
T→aS’aT’|bT’
T’ →SS’aT’|bT’|ε
18 / 27
La grammaire G4
S →S ∨ T | T
T →T ∧ F | F
F → ¬ F| (S)| x | y
Pour S →S ∨ T | T : on obtient
S → TS’
S’ →vTS’|ε
S’ →S|ε
S →aAbS’’ |abS’’|bBaSS’’|baSS’’|bBaS’’|baS’’
S’’ →aAbS’’|abS’’|ε
A →bAa|ba
B→aBb|ab
Factorisation au niveau de S.
S →aC|bD
C→AbS’’|bS’’
D→BaE|aE
E→SS’’|S’’
20 / 27
Factorisation au niveau de A. A →bAa|ba
A→bG
G→Aa|a
Factorisation de G3
S →TSS’|aS’
S’→TS’|SbS’|ε
T→aS’aT’|bT’
T’ →SS’aT’|bT’|ε
On ne peut factoriser qu’au niveau de T :
T→aA|bT’
A→S’aT’
21 / 27
6 - Donner la grammaire générant L(G2)*
Grammaire G2
S →SaAb|bBaS|ε
A →bAa|ε
B →aBb|ε
Grammaire G2*
S’→SS’|ε
S →SaAb|bBaS|ε
A →bAa|ε
B →aBb|ε
22 / 27
7 - Donner la grammaire générant L(G4) U L(G3)
Grammaire G4
S →S ∨ T | T
T →T ∧ F | F
F → ¬ F| (S)| x | y
Grammaire G3
S →ST|SSb|TS|a
T →Sa|Tb|ε
Grammaire G4 U G3 :
Renommer S et T dans G3 en S3 et T3 . Les productions de G3
deviennent :
S3 →S3T3|S3S3b|T3S3|a
T3 →S3a|T3b|ε
23 / 27
Les production G3 U G4 sont
Su →S|S3
S3 →S3T3|S3S3b|T3S3|a
T3 →S3a|T3b|ε
S →S ∨ T | T
T →T ∧ F | F
F → ¬ F| (S)| x | y
24 / 27
8 - Construire un automate à pile acceptant par état final pour la
grammaire G3 , le transformer en un automate à pile acceptant par
pile vide.
ε,Z0/SZ0 ε,Z0/Z0
25 / 27
Transformation de l’automate pour qu’il accepte par pile vide
26 / 27
9 - Construire un automate à pile acceptant par pile vide pour la
grammaire G4 , le transformer en un automate à pile acceptant
par état final.
Automate acceptant L(G4) par pile vide
ε,Z0/SZ0 ε,Z0/Z0
27 / 27