Académique Documents
Professionnel Documents
Culture Documents
FILIERE : SMI
FACULTE DES SCIENCES DE TETOUAN
Parcours : Informatique
COMPILATION
Département d’Informatique
S. Amjad Page 1
Examen
Janvier 2016
Exercice 1
1) Soient a et b deux expressions rationnelles. Montrer que :
b+ (a*b* + ) b = b (b*a* + ) b+
S bA | bZ
A aA | cS | aZ
Z bZ | c
Exercice 2
Déterminiser l’AFN ci-dessous.
Exercice 3
Minimiser l’automate suivant, tracer le graphe de l’AFD minimal et donner le langage
reconnu.
a B
1 2 3
2 4 2
* 3 5 3
*4 2 4
5 3 5
6 4 5
Exercice 4
S. Amjad Page 2
Soit la grammaire G = ({a, b, c, d, e}, {A, B, C, D}, A, P) où P :
A BCD
B aCD |
C bB | cD |
D dD | e
S. Amjad Page 3
Solution
Exercice 1
2) La grammaire ainsi définie est rationnelle. Donc, le langage reconnu est obtenu par la
résolution du système ci-dessous :
S = bA + bZ
A = aA + cS + aZ
Z = bZ + c
= b*c
A = aA + cS + ab*c
= a*(cS + ab*c)
S = bA + bZ
= ba*(cS + ab*c) + bb*c
= ba*cS + ba*ab*c + bb*c
= ba*cS + (ba+ + b)b*c
= ba*cS + b(a+ + 1)b*c
= ba*cS + ba*b*c
= (ba*c)*(ba*b*c) est le langage.
Exercice 2
L’automate déterministe est :
a b
→ *14 12 3
12 12 3
*3 4
*4 2 3
S. Amjad Page 4
2 1
1 12 3
Exercice 3
1
2 Y
3 X X
4 X X
5 Y X X
1 2 3 4 5
a b
1 25 34
25 34 25
* 34 25 34
X = aY + bZ
Y = bY + aZ
Z = aY + bZ + ε
= b*(aY + ε)
Y = bY + aZ
S. Amjad Page 5
= bY + ab*(aY + ε)
= (b + ab*a)Y + ab*
= (b + ab*a)*ab*
Z = b*(aY + ε)
= b*aY + b*
= b*a(b + ab*a)*ab* + b*
= b*a(b + ab*a)*ab* + b*
X = aY + bZ
= a(b + ab*a)*ab* + b+a(b + ab*a)*ab* + b+ est le langage.
Exercice 4
1) Les ensembles premiers et suivant des non-terminaux sont représentés dans le tableau ci-
dessous :
a b c d e $
A A → BCD A → BCD A → BCD A → BCD A → BCD
B B → aCD B→ε B→ε B→ε B→ε
C C → bB C → cD C→ε C→ε
D D → dD D→e
P E S
$A babdee $ A → BCD
$DCB babdee $ B →ε
$DC babdee $ C → bB
$DBb babdee $
$DB abdee $ B → aCD
S. Amjad Page 6
$DDCa abdee $
$DDC bdee $ C → bB
$DDBb bdee $
$DDB dee $ B→ε
$DD dee $ D → dD
$DDd dee $
$DD ee $ D →e
$De ee $
$D e$ D →e
$e e$
$ $ Reconnu
P E S
$A bbabcde $ A → BCD
$DCB bbabcde $ B →ε
$DC bbabcde $ C → bB
$DBb bbabcde $
$DB babcde $ B →ε
$D babcde $ Echec
S. Amjad Page 7
Contrôle
Février 2017
Exercice 1
1) Montrer que (xy)*x = x(yx)*
2) Soit la grammaire G définie par : ({X, Y, Z}, {0, 1}, X, P) où
P : X → 0X│1Y│1Z │0 Y → 0Y│1Y Z → 1Z │0Y │00
Quel est le langage généré par cette grammaire ?
Exercice 2
1) Déterminiser l’AFN suivant :
a b
→0 01 12
1 1 12
→*2 2
Exercice 3
Soit la grammaire G définie comme suit : ({a, b, c, d}, {A, B, C}, A, P)
Où P : A → ABC │a B → bB │ d C → cC │
Quel est le comportement syntaxique du mot abbdcc ? S’il est accepté, tracer l’arbre
correspondant.
S. Amjad Page 8
Solution
Exercice 1
1) Montrons que (xy)*x = x(yx)*
(xy)*x est solution de l’équation X = (xy)X + x
(xy)x(yx)* + x = ? x(yx)*
xyx(yx)* + x = x(yx)+ + x = x((yx)+ + 1) = x(yx)*
2) La grammaire G est de type 3. Pour trouver donc le langage engendré par cette grammaire,
il suffit de résoudre le système ci-dessous.
X = 0X +1Y + 1Z +0
Y = 0Y +1Y =
Z = 1Z +0Y +00
Z = 1Z + 00 = 1*00
X = 0X + 11*00 +0 = 0*(1+00 + 0) le langage reconnu.
Exercice 2
1) L’automate déterministe est :
a b
→*02 01 12
01 01 12
*12 1 12
1 1 12
02
01 X
12 X
1 X X
02 01 12 1
Après minimisation les états 02 et 12 sont équivalents. Même chose pour les états 01 et 1.
S. Amjad Page 9
La graphe de l’automate minimal est :
b
a
a
1 01 02
12
b
3) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X1 = aX2 + bX1 +
X2 = aX2 + bX1
= a*bX1
X1 = aa*bX1 + bX1 +
= (a+b +b)X1 +
= a*bX1 +
= (a*b)* est le langage reconnu par l’automate
Exercice 3
La grammaire est récursive. Il faut éliminer cette récursivité pour qu’elle soit de type LL(1)
A → aA’ A’ → BCA’ │ B → bB │ d C → cC │
a b c d $
A A → aA’
A’ A’ → BCA’ A’ → BCA’ A’ → ε
B B → bB B→d
S. Amjad Page 10
C C→ε C → cC C → ε C→ε
P E S
$A abbdcc $
A → aA’
$A’a abbdcc $
$A’ bbdcc $
A’ → BCA’
$A’CB bbdcc $
B → bB
$A’CBb bbdcc $
$A’CB bdcc $
B → bB
$A’CBb bdcc $
$A’CB dcc $
B →d
$A’Cd dcc $
$A’C cc $
C → cC
$A’Cc cc $
$A’C c$
C → cC
$A’Cc c$
$A’C $
C →
$A’ $
A’ →
$ $
Reconnu
S. Amjad Page 11
Rattrapage
Mars 2017
Exercice 1
Exercice 2
1) Déterminiser l’AFN suivant :
a b
→*0 1 2
1 3
2 4
*3 5
*4
5 0
Exercice 3
Soit la grammaire G définie comme suit : ({0, 1, 2, 3}, {A, B, C}, A, P)
Où P : A → A0A1B │B2C B → 01A2B │ 011C C → 3B1C │
Quel est le comportement syntaxique des mots 011230111 et 0113210? S’ils sont acceptés,
tracer les arbres correspondants.
S. Amjad Page 12
Solution
Exercice 1
Nous allons supposer que le langage {anbmcn+1 / n, m N} est régulier. Donc, il vérifie le
lemme de l’étoile.
Soit Z = aNbNcN+1. La longueur de Z = 3N + 1 > N, Z= uvw tel que u = ap , v = aq et
w = aN-(p+q) bNcN+1
uviw = aN+q(i-1) bNcN+1
Pour que uviw appartienne au langage il faut que i soit égale à 1. Pour i plus grand que 1 on
aura plus de a que c. Absurde.
Exercice 2
1) L’automate déterministe est :
a b
→*0 12
12 34
*34 5
5 0
0
12 X
34 X
5 X X
0 12 34 5
S. Amjad Page 13
Après minimisation les états 0 et 34 sont équivalents. Même chose pour les états 12 et 5.
a
5 12 0
34
b
4) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X1 = aX2 +
X2 = bX1
X1 = abX1 + = (ab)* est le langage reconnu.
Exercice 3
La grammaire n’est aps de type LL(1) car elle est récursive et non factorisée.
A → B2CA’ A’ → 0A1BA’ │ B → 01B’ B’ → A2B │ 1C C → 3B1C │
0 1 2 3 $
A A → B2CA’
A’ A’ → 0A1BA’ A’ → ε A’ → ε A’ → ε
B B → 01B’
B’ B’ → A2B B’ → 1C
C C→ε C→ε C→ε C → 3B1C C→ε
S. Amjad Page 14
L’analyseur syntaxique est :
P E S
$A 011230111 $ A → B2CA’
$A’C2B 011230111 $ B → 01B’
$A’C2B’10 011230111 $
$A’C2B’ 1230111 $ B’ → 1C
$A’C2C1 1230111 $
$A’C2C 230111 $ C →
$A’C2 230111 $
$A’C 30111 $ C → 3B1C
$A’C1B3 30111 $
$A’C1B 0111 $ B → 01B’
$A’C1B’01 0111 $
$A’C1B’ 11 $ B’ → 1C
$A’C1C1 11 $
$A’C1C 1$ C →
$A’C1 $
$A’C $ C →
$A’ $ A’ →
$ $ Reconnu
P E S
$A 0113210 $ A → B2CA’
$A’C2B 0113210 $ B → 01B’
$A’C2B’10 0113210 $
$A’C2B’ 13210 $ B’ → 1C
$A’C2C1 13210 $
$A’C2C 3210 $ C → 3B1C
$A’C2C1B3 3210 $
$A’C2C1B 210 $ Echec
S. Amjad Page 15
Contrôle
Janvier 2018
Exercice 1
1) Est ce que les langages suivants sont rationnels :
M = {0i1j / i > j, i, j N} et L = {anbn / n < 42131 - 1}?
2) Soit un alphabet A = {0, 1}, montrer que :
(1 + 00*1) + (1 + 00*1) (0 + 10*1)*(0 + 10*1) = 0*1(0 + 10*1)*
Exercice 2
1) Déterminiser l’AFN suivant :
a b
0 0 3
*1 1 23
2 1 3
3 1 2
Exercice 3
Soit la grammaire G définie comme suit : ({a,b,c,d,e}, {S,A,B}, S, P)
Où P : S → abcAdB│abBbA │ab A → bA│ B → dB│e
Quel est le comportement syntaxique du mot abcbdde ? S’il est accepté, tracez l’arbre
correspondant.
S. Amjad Page 16
Solution
Exercice 1
1) Le langage L = {anbn / n < 42131 - 1}est rationnel car il est fini.
M = {0i1j / i > j, i, j N} ne l’est pas. En effet, nous allons appliquer le lemme de la pompe.
Supposons donc que M est rationnel et prenons z = 0p+1 1p ; il existe u, v et w tel que z = uvw
avec u = 0p, v = 0 et w = 1p la longueur de z est 2p+1 et de uv est p+1 = N
uviw = 0p 0i 1p
Pour i = 0 uviw = 0p1p M absurde
Exercice 2
a b
→03 01 23
*01 01 23
23 1 23
*1 1 23
03
01 X
23 X
1 X X
03 01 23 1
S. Amjad Page 17
Les états 23 et 03 sont équivalents. Les états 1 et 01 le sont aussi.
b
b
03 01 a
23 1
a
3) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X1 = aX2 + bX1
X2 = aX2 + bX1 +
= a*(bX1 + )
X1 = a a*(bX1 + ) + bX1
= (a+b +b)X1 + a+ = a*bX1 + a+ = (a*b)*a+ est le langage reconnu par l’automate.
Exercice 3
La grammaire n’est pas de type LL(1) acr elle est non factorisée.
S → abS’ S’ → cAdB │BbA │ A → bA │ B → dB │e
a b c d e $
S S → abS’
S’ S’ → cAdB S’ → BbA S’ → BbA S’ →
A A → bA A→ A→
B B → dB B→e
P E S
S. Amjad Page 18
$S abcbdde $ S → abS’
$S’ba abcbdde $
$S’ cbdde $ S’ → cAdB
$BdAc cbdde $
$BdA bdde $ A → bA
$BdAb bdde $
$BdA dde $
$Bd dde $ A →
$B de $
$Bd de $ B → dB
$B e$
$e e$ B →e
$ $ Reconnu
S. Amjad Page 19
Rattrapage
Février 2018
Exercice 1
Soit un alphabet A = {a, b, c}
Exercice 2
1) Déterminiser l’AFN suivant :
a b
0 0 1 3
1 1 23
*2 1 2
3 3 3
Exercice 3
Soit la grammaire G définie comme suit : ({a,b,c,d}, {X,Y}, X, P)
Où P : X → XcYd│ bYaXb │c Y→ cbXd │cY │ c
Quel est le comportement syntaxique du mot bcacccdb ? S’il est accepté, tracez l’arbre
correspondant.
S. Amjad Page 20
Solution
Exercice 1
Exercice 2
1) L’automate déterministe est :
A b
→0 01 3
01 01 23
3 3 3
*23 13 23
13 13 23
2) Le diagramme de minimisation est représenté ci-dessous après avoir supprimé l’état 3 qui
est inutile :
S. Amjad Page 21
0
01 Y
23 X X
13 Y X
0 01 23 13
b
a
b
a 01 23
0 13
a
3) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X0 = a X1
X1 = aX1 + bX2
X2 = bX2 + aX1 +
= b*(aX1 + )
X1 = b b*(aX1 + ) + aX1
= (b+a +a)X1 + b+
= b*aX1 + b+
= (b*a)*b+
Le langage est X0 = aX1 = a(b*a)*b+
Ou remarquons que X2 = X1 +
donc X1 = aX1 + bX2
= aX1 + b(x1 + )
= (a + b)X1 + b
= (a + b)*b
Le langage est donc X0 = a(a + b)*b
Les deux expressions sont équivalentes et engendrent le même langage.
S. Amjad Page 22
Exercice 3
La grammaire ainsi définie est récursive et non factorisée. Donc, elle n’est pas de type LL(1).
Il faut donc la rendre non récursive et factorisée.
a b c d $
X X → bYaXbX’ X → cX’
X’ X’ → X’ → cYdX’ X’ → X’ →
Y Y → cY’
Y’ Y’ → Y’ → bXd Y’ → Y Y’ →
P E S
$X bcacccdb $ X → bYaXbX’
$X’bXaYb bcacccdb $
$X’bXaY cacccdb $ Y → cY’
$X’bXaY’c cacccdb $
$X’bXaY’ acccdb $ Y’ →
$X’bXa acccdb $
$X’bX cccdb $ X → cX’
$X’bX’c cccdb $
$X’bX’ ccdb $ X’ → cYdX’
$X’bX’dYc ccdb $
$X’bX’dY cdb $ Y → cY’
S. Amjad Page 23
$X’bX’dY’c cdb $
$X’bX’dY’ db $ Y’ →
$X’bX’d db $
$X’bX’ b$ X’ →
$X’b b$
$X’ $ X’ →
$ $ Reconnu
S. Amjad Page 24
Contrôle
Janvier 2019
Exercice 1
Exercice 2
1) Déterminiser l’AFN suivant :
0 1
A A B
*B B D
C C B C
D C B B
Exercice 3
Soit la grammaire G définie comme suit : ({0,1,2}, {S,T}, S, P)
Où P : S → T0│S2S1 T → 011S│012T│01
Quel est le comportement syntaxique du mot 0110100 ? S’il est accepté, tracez l’arbre
correspondant.
S. Amjad Page 25
Solution
Exercice 1
Exercice 2
1) L’automate déterministe est :
0 1
→ ACD ABC BC
*ABC ABC BCD
*BC BC BCD
*BCD BC BCD
ACD
*ABC X
*BC X
*BCD X
ACD ABC BC BCD
S. Amjad Page 26
L’automate minimal est représenté par le graphe suivant :
4) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X0 = (0 + 1) X1
X1 = (0 + 1) X1 + = (0 + 1)*
X0 = (0 + 1)+ est le langage.
Exercice 3
0 1 2 $
S S → T0S’
S’ S’ → ε S’ → ε S’ → 2S1S’ S’ → ε
T T → 01T’
T’ T’ → ε T’ → 1S T’ → 2T
P E S
$S 0110100 $ S → T0S’
$S’0T 0110100 $ T → 01T’
$S’0T’10 0110100 $
S. Amjad Page 27
$S’0T’ 10100 $ T’ → 1S
$S’0S1 10100$
$S’0S 0100$ S → T0S’
$S’0S’0T 0100 $ T → 01T’
$S’0S’0T’10 0100$
$S’0S’0T’ 00$ T’ →
$S’0S’0 00$
$S’0S’ 0$ S’ →
$S’0 0$ S’ →
$S’ $ Reconnu
$ $
S. Amjad Page 28
Rattrapage
Février 2019
Exercice 1
1) Soit la grammaire G1 = ({0, b, c}, {S, X, Y, Z}, S, P) où P :
S XYZ X 0Y | cZ | 0
Y bX | b Z 0Z | c
Exercice 2
1) Déterminiser l’AFN suivant :
0 1
*P Q S Q R
Q Q Q
R S P
S R P
Exercice 3
Soit la grammaire G = ({a, b, c, d, e, f}, {A, B, C, D}, A, P) où P :
A BCD B aC | bCD | C eB | cD | f D dD | f
Quel est le comportement syntaxique des mots aecdff et acdfdc ? S’ils sont acceptés, donner
les arbres correspondants.
S. Amjad Page 29
Solution
Exercice 1
1) La dérivation à gauche du mot c00cb0b0c est :
S XYZ cZYZ c0ZYZ c00ZYZ c00cYZ c00cbXZ c00cb0YZ
c00cb0bZ c00cb0b0Z c00cb0b0c
La dérivation à droite est :
S XYZ XY0Z XY0c XbX0c Xb0Y0c Xb0b0c cZb0b0c c0Zb0b0c
c00Zb0b0c c00cb0b0c
2) La grammaire ainsi définie est une grammaire rationnelle. Le langage est obtenu donc en
résolvant le système suivant en utilisant Arden.
S = Ab + Z a
A = A0 + Sa + Z0 + b
Z = Z0 + Za = Ø
Le système deviendra :
S = Ab
A = A0 + Sa + b
A = (Sa + b)0*
S = Ab
= Sa0*b + b0*b = (b0*b)(a0*b)* : le langage reconnu par la grammaire.
Exercice 2
3) L’automate déterministe est :
0 1
→ *P QS QR
QS QR QP
QR QS QP
*QP QS QR
S. Amjad Page 30
P
QS X
QR X
QP X X
P QS QR QP
0,1 QS 0
P QR
QP
1
5) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X0 = (0 + 1) X1 +
X1 = 0X1 + 1 X0
On applique Arden à X1 = 0*1X0
X0 = + (0 + 1)0*1X0 = ((0 + 1)0*1)* le langage reconnu.
Exercice 3
La grammaire ainsi définie est une grammaire de type LL(1).
a b c d e f $
A A → BCD A → BCD A → BCD A → BCD A → BCD
B B → aC B → bCD B→ε B→ε B→ε B→ε
C C → cD C → eB C→f
D D → dD D→f
S. Amjad Page 31
L’analyseur syntaxique dirigé par la table est :
P E S
$A aecdff $ A → BCD
$DCB aecdff $ B → aC
$DCCa aecdff $
$DCC ecdff $ C → eB
$DCBe ecdff $
$DCB cdff $ B →
$DC cdff $ C → cD
$DDc cdff $
$DD dff $ D → dD
$DDd dff $
$DD ff $ D →f
$Df ff $
$D f$ D →f
$f f$
$ $ Reconnu
P E S
$A acdfdc $ A → BCD
$DCB acdfdc $ B → aC
$DCCa acdfdc $
$DCC cdfdc $ C → cD
$DCDc cdfdc $ D → dD
$DCDd dfdc $
$DCD fdc $ D →f
$DCf fdc $
$DC dc $ refusé
S. Amjad Page 32
Contrôle
Janvier 2020
Exercice 1
Exercice 2
1) Déterminiser l’AFN suivant :
0 1
*A A B C
B B A B
C B C B
Exercice 3
Soit la grammaire G définie comme suit : ({a, b, c}, {S, A, B}, S, P)
Où P : S → AB A →Aab│ε B → bcS│baA│b
Etudier le comportement syntaxique du mot abbcabb. S’il est accepté, tracez l’arbre
correspondant.
S. Amjad Page 33
Solution
Exercice 1
Exercice 2
5) L’automate déterministe est :
0 1
→ *AC ABC BC
*ABC ABC ABC
BC BC AB
*AB AB ABC
S. Amjad Page 34
2) Le diagramme de minimisation est représenté ci-dessous :
*AC
*ABC Y
BC X X
*AB Y X
AC ABC BC AB
1 BC 1 AB 0, 1
AC ABC
6) Le langage reconnu par cet automate est obtenu par la résolution de ce système.
X0 = 0X1 + 1 X2 +
X1 = (0 + 1) X1 +
X2 = 0X2 + 1 X1
On applique Arden à la deuxième équation : X1 = (0 + 1)+
Donc X2 = 0*1 X1 = 0*1(0 + 1)*
On remplace les valeurs de X1 et X2 dans X0, on obtient :
X0 = 0(0 + 1)* + 10*1(0 + 1)* + ε = (0 + 10*1)(0 + 1)* + ε .
Le langage reconnu donc par l’automate est (0 + 10*1)(0 + 1)* + ε .
Exercice 3
La grammaire n’est pas de type LL(1) car elle est récursive et non factorisée.
La nouvelle grammaire est :
S → AB A → A’ A’→ abA’ │ B → bB’ B’ → cS │aA│
S. Amjad Page 35
B b $
B’ ε, a, c $
a b c $
S S → AB S → AB
A A → A’ A → A’ A → A’
A’ A’ → abA’ A’ → ε A’ → ε
B B → bB’
B’ B’ → aA B’ → cS B’ → ε
P E S
$S abbcabb $ S → AB
$BA abbcabb $ A → A’
$BA’ abbcabb $ A’ → abA’
$BA’ba abbcabb$
$BA’ bcabb $ A’ →
$B bcabb $ B → bB’
$B’b bcabb $
$B’ cabb $ B’ → cS
$Sc cabb $
$S abb $ S → AB
$BA abb $ A → A’
$BA’ abb $ A’ → abA’
$BA’ba abb $
$BA’ b$ A’ →
$B b$ B → bB’
$B’b b$
$B’ $ B’ →
$ $ Reconnu
S. Amjad Page 36
Rattrapage
Février 2020
Exercice 1
1) Donner le langage reconnu par la grammaire G définie comme suit G : (VT = {0, 1, 2}, VN
= {S, X, Y}, S, R) où R = {S → S0 | X1 | Y12, X → X0 | Y2 | 12, Y → Y11 | Y0}.
n m
2) Est-ce que le langage P = {0 10 / n, m N} est rationnel ?
Exercice 2
1) Déterminiser l’AFN suivant :
a b
0 0 0 1
*1 2 3
2 1 3 0
3 1
Exercice 3
Soit la grammaire G définie comme suit : ({0, 1, 2, 3, 4}, {X, Y, Z}, X, P)
Où P : X → 0Y4│X1 Y →32X│32Z Z → 2X│ε
Etudier le comportement syntaxique du mot 032032441. S’il est accepté, tracez l’arbre
correspondant.
S. Amjad Page 37
Solution
Exercice 1
1) C’est une grammaire de type 3. Les règles de grammaire se transformeront en un système
d’équations qui sera résolu par le lemme d’Arden
S = S0 + X1 + Y12,
X = X0 + Y2 + 12,
Y = Y11 + Y0 = ϕ
Exercice 2
1) L’automate déterministe est :
0 1
→ 02 013 01
*013 012 01
*01 02 013
*012 012 01
02
013 X
01 X Y
012 X Y
02 013 01 012
S. Amjad Page 38
Les états 012 et 013 sont des états équivalents.
3) Le langage reconnu par l’automate minimal est donné par son état initial en résolvant ce
système :
X0 = aX1 + b X2
X1 = aX1 + b X2 +
X2 = aX0 + b X1 +
X1 = (0 + 1)+
X2 = 0*1 X1 = 0*1(0 + 1)*
X0 = 0(0 + 1)* + 10*1(0 + 1)* + ε = (0 + 10*1)(0 + 1)* + ε : le langage
Exercice 3
0 1 2 3 4 $
X X → 0Y4X’
X’ X’ → 1X’ X’ → X’ →
Y Y → 32Y’
Y’ Y’ → X Y’ → Z Y’ → Z
Z Z → 2X Z→
S. Amjad Page 39
P E S
$X 032032441 $ X → 0Y4X’
$X’4Y0 032032441 $
$X’4Y 32032441 $ Y → 32Y’
$X’4Y’23 32032441 $
$X’4Y’ 032441 $ Y’ → X
$X’4X 032441 $ X → 0Y4X’
$X’4X’4Y0 032441 $
$X’4X’4Y 32441 $ Y → 32Y’
$X’4X’4Y’32 32441 $
$X’4X’4Y’ 441 $ Y’ → Z
$X’4X’4Z 441 $ Z →
$X’4X’4 441 $
$X’4X’ 41 $ X’ →
$X’4 41 $
$X’ 1$ X’ → 1X’
$X’1 1$
$X’ $ X’ →
$ $ Reconnu
S. Amjad Page 40
Contrôle
Février 2021
Exercice 1
Exercice 2
4) Déterminiser l’AFN suivant :
0 1
→Q Q QR
*R S QS
S S
Exercice 3
Soit la grammaire G = ({a, b, c}, {X, Y}, X, P) où P :
X XabY | c Y bY |
Quel est le comportement syntaxique du mot cabbb ? S’il est accepté, donner l’arbre
correspondant.
S. Amjad Page 41
Solution
Exercice 1
Montrons que (a + b)* = (a*b)*a*
(a + b)* est solution de l’équation X = X(a + b) + 1
(a*b)*a*(a + b) + 1 = (a*b)*a*a + (a*b)*a*b + 1
= (a*b)*a+ + (a*b)+ + 1
= (a*b)*a+ + (a*b)*
= (a*b)*(a+ + 1) = (a*b)*a*
(a*b)*a* est également solution de la même équation. D’après Arden, la solution est unique.
D’où (a + b)* = (a*b)*a*
Exercice 2
0 1
→Q Q QR
*QR QS QRS
QS QS QR
*QRS QS QRS
QR X
QS X
QRS X X
Q QR QS QRS
S. Amjad Page 42
3) Le langage reconnu par cet automate est obtenu en résolvant le système ci-dessous :
X = 0X + 1Y
Y = 0X + 1Y + ε = X + ε
X = 0X + 1(X + ε) = (0 + 1)X + 1 = (0 + 1)*1
Ou Y = 1*(0X + ε)
X = 0X + 1Y
= 0X + 11*(0X + ε)
= (0 + 1+0)X + 1+
= 1*0X + 1+ = (1*0)*1+
Ces deux expressions : (0 + 1)*1 et (1*0)*1+ sont équivalentes et engendrent un même
langage.
Exercice 3
X XabY | c Y bY |
La grammaire est récursive à droite. Il faut donc éliminer cette récursivité pour qu’elle soit de
type LL(1)
X cX’ X’ abYX’ | Y bY |
a b c $
X X → cX’
X’ X’ → abYX’ X’ → ε
Y Y→ε Y → bY Y→ε
S. Amjad Page 43
P E S
$X cabbb $ X → cX’
$X’c cabbb $
$X’ abbb $ X’ → abYX’
$X’Yba abbb $
$X’Y bb $ Y → bY
$X’Yb bb $
$X’Y b$ Y → bY
$X’Yb b$
$X’Y $ Y →
$X’ $ X’ →
$ $ Reconnu
S. Amjad Page 44
Rattrapage
Avril 2021
Exercice 1
Quel est le langage reconnu par la grammaire suivante : G = ({a, b, c, d},{X, Y, Z}, X , P)
avec P : X Xa | Yb | Zc Y Yb | Za | a Z Zc | Zd
Exercice 2
a) Déterminiser l’AFN suivant :
a b
0 0 1 2
1 2 1
*2 1 2
Exercice 3
Soit la grammaire G = ({a, b, c, }, {S, Y}, S, P) où P :
S aY | b Y cdS | cdY | cd
Quel est le comportement syntaxique du mot acdacd ? S’il est accepté, donner l’arbre
correspondant.
S. Amjad Page 45
Solution
Exercice 1
Pour trouver le langage reconnu par cette grammaire, il faut résoudre le système ci-dessous :
X = Xa + Yb + Zc
Y = Yb + Za + a
Z = Zc + Zd
En appliquant le lemme d’Arden à la troisième équation donne z = Ø, le système devient
X = Xa + Yb
Y = Yb + a
D’après Arden Y = ab*
En remplaçant Y dans la première équation :
X = Xa + ab*b = Xa + ab+ = (ab+)a*
Le langage reconnu donc par la grammaire est (ab+)a*.
Exercice 2
0 1
→ 01 012 12
*012 012 12
*12 12 12
01 (012,12) (01)
012 X
12 X
01 012 12
S. Amjad Page 46
L’automate minimal est représenté par ce graphe :
a, b
12 a,
01 b
012
X = (a + b)Y
Y = (a + b)Y + ε = (a + b)*
X = (a + b)Y = (a + b)(a + b)* = (a + b)+
Le langage est (a + b)+
Exercice 3
S aY | b Y cdS | cdY | cd
Cette grammaire n’est pas de type LL1 car elle n’est pas factorisée. Donc, après factorisation
la grammaire devient :
S aY | b Y cdY’ Y’’ S | Y |
a b c d $
S S → aY S→b
Y Y → cdY’
Y’ Y’ → S Y’ → S Y’ → Y Y’ → ε
P E S
$S acdacd $ S → aY
S. Amjad Page 47
$Ya acdacd $
$Y cdacd $ Y → cdY’
$Y’dc cdacd $
$Y’ acd $ Y’ → S
$S acd $ S → aY
$Ya acd $
$Y cd $ Y → cdY’
$Y’dc cd $
$Y’ $ Y’ →
$ $ Reconnu
S. Amjad Page 48