Vous êtes sur la page 1sur 17

cole Suprieure de Technologie

Dpartement Informatique
TLA & Compilation (Groupes C & E)

Correction TD Analyse syntaxique


Exercice4 :
Les rgles de productions de la grammaire sont :
S SAB | SBC |BB
A aAa |
B bB |
C cC |
1. Calculons les ensembles PREMIER :
Nous avons C cC | do :
PREMIER(C) = PREMIER(cC) PREMIER()
PREMIER(cC) = {c}
PREMIER() = {}
alors PREMIER(C) = {c, }

Nous avons B bB | do :

PREMIER(B) = PREMIER(bB) PREMIER()


PREMIER(bB) = {b}
PREMIER() = {}
alors PREMIER(B) = {b, }

Nous avons A aAa | do :

PREMIER(A) = PREMIER(aAa) PREMIER()


PREMIER(aAa) = {a}
PREMIER() = {}
1
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
alors PREMIER(A) = {a, }

Nous avons S SAB | SBC | BB do :

PREMIER(S) = PREMIER(SAB) PREMIER(SBC) PREMIER(BB)


PREMIER(BB) = PREMIER(B) PREMIER(B) = {b, }
(Initialement PREMIER(S) est vide. PREMIER(BB) est semblable PREMIER(Y1Y2) avec Y1 = B et Y2 = B.
Or si PREMIER(B) alors il faut que PREMIER(Y1Y2) contienne PREMIER(Y1)\{} et ajouter aussi
PREMIER(Y2) \{}. De plus, PREMIER(Y1) et PREMIER(Y2) alors ajouter PREMIER(Y1Y2)
Maintenant PREMIER(S)= {b, } )
PREMIER(SAB) = PREMIER(A) PREMIER(B) = {a, b, }
(Ici on commence avec un PREMIER(S) contenant dj {b, } cause de S BB . PREMIER(SAB) est
semblable PREMIER(Y1Y2Y3) avec Y1 = S et Y2 = A et Y3 = B. Or si PREMIER(Y1) alors il faut que
PREMIER(Y1Y2Y3) contienne PREMIER(Y1)\{} et ajouter aussi PREMIER(Y2) \{} et si PREMIER(Y2)
alors il faut ajouter aussi PREMIER(Y3) \{}. Nous savons dj que PREMIER(S) . De plus,
PREMIER(Y1) , PREMIER(Y2) et PREMIER(Y2) alors ajouter PREMIER(Y1Y2Y3) Maintenant
PREMIER(S)= {a, b, })
PREMIER(SBC) = PREMIER(B) PREMIER(C) = {b, c, }
(Ici on commence avec un PREMIER(S) contenant dj {a, b, }. PREMIER(SBC) est semblable
PREMIER(Y1Y2Y3) avec Y1 = S et Y2 = B et Y3 = C. Or si PREMIER(Y1) alors il faut ajouter aussi
PREMIER(Y2) et si PREMIER(Y2) alors il faut ajouter aussi PREMIER(Y3). Nous savons dj que
PREMIER(S) daprs PREMIER(BB) Maintenant PREMIER(S)= {a, b, c, })
Do PREMIER(S) = {a, b, c, } car il ny a plus de symboles ajouter on est arriv un point fixe
2. Calculons les ensembles SUIVANT (Tous les ensembles sont initialement vide):
Calculons SUIVANT(S) :
Dans la grammaire, laxiome S est suivi de AB dans SAB et de BC dans SBC. Ainsi, SUIVANT(S) doit
contenir $ (puisque S est laxiome), PREMIER(AB)\{+ et PREMIER(BC)\{+.
Or PREMIER(AB) = PREMIER(A)\{+ PREMIER(B)\{+ {+ = *a, b, +
et PREMIER (BC) = PREMIER(B)\{+ PREMIER(C)\{+ {+ = *b, c, +
Do SUIVANT(S) ={$+ PREMIER(AB)\{+ PREMIER(BC)\{+={$,a,b,c}
2
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)

Calculons SUIVANT(A) :

Dans la grammaire, le non-terminal A apparait dans :


-

A aAa do SUIVANT(A) doit contenir {a}


S SAB do SUIVANT(A) doit contenir PREMIER(B)\{+. Comme PREMIER(B), alors il faut
ajouter SUIVANT(S) SUIVANT(A).

Par consquent, SUIVANT(A)={a} PREMIER(B)\{+ SUIVANT(S) = {$,a,b,c }

Calculons SUIVANT(B) :

Dans la grammaire, le non-terminal B apparait dans :


-

S SAB do SUIVANT(B) contient SUIVANT(S)


S SBC do SUIVANT(B) contient PREMIER(C)\{+. Comme PREMIER(C) contient alors
SUIVANT(B) contient en plus SUIVANT(S)
S BB cause du premier B SUIVANT(B) contient PREMIER(B)\{+. De plus, SUIVANT(B)
contient SUIVANT(S) aussi bien cause du premier que B (puisque PREMIER(B)) que du
deuxime B.

Par consquent, SUIVANT(B)= PREMIER(C)\{+PREMIER(B)\{+ SUIVANT(S) = {$,a,b,c }

Calculons SUIVANT(C) :

Dans la grammaire, le non-terminal C apparait dans :


-

S SBC do SUIVANT(C) contient SUIVANT(S)

Par consquent, SUIVANT(C)= SUIVANT(S) = {$,a,b,c }


Cette grammaire nest pas LL(1). En effet, il existe plusieurs preuves :
1. Dans S SAB | SBC |BB, nous avons PREMIER(SAB)PREMIER(SBC) = {a, b,c, }{a, b,c, }
(pareil pour les autres)
2. Dans S SAB | SBC |BB, nous avons SAB* et PREMIER(SBC)SUIVANT(S) = {a, b,c, }
{$,a,b,c} (pareil pour les autres)
3. S SAB | SBC |BB, nous avons SAB* et SBC*

3
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Exercice5 :
Les rgles de productions de la grammaire sont :
S SaAb | bBaS |
A bAa |
B aBb |

1. Cette grammaire est rcursive gauche puisque dans la production S SaAb, le non-terminal S
qui est la tte de la production se trouve tout fait gauche dans le corps de cette mme
production.
liminons la rcursivit gauche :
Nous avons trois symboles non-terminaux que nous ordonnons comme suit : S, A et B
i=1 : Nous traitons le symbole S
S SaAb | bBaS | Nous crons alors un nouveau non-terminal S (Dans ce cas =aAb , 1= bBaS et
2=), do les nouvelles productions :
S bBaSS |S (puisque S=S)
SaAbS|
i=2 : Nous traitons le symbole A Aucune rcursivit directe, ni indirecte
i=3 : Nous traitons le symbole B Aucune rcursivit directe, ni indirecte
Nous aurons ainsi la grammaire quivalente non rcursive gauche avec les productions suivantes :
S bBaSS |S
SaAbS|
A bAa |
B aBb |
2. Cette grammaire est bien factorise gauche puisquil nexiste aucun prfixe commun dans les SProductions, ni dans les A-Productions, ni dans les B-Productions.
4
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
3. Ambigut :
1. Construisons la table danalyse LL(1). Pour ce faire, nous devons tout dabord calculer les
ensembles PREMIER et SUIVANT. Nous allons utiliser la grammaire non rcursive gauche
puisquelle est quivalente G4
Ensembles PREMIER :
PREMIER(A) = PREMIER(bAa) PREMIER() = {b}{} = {b,}
PREMIER(B) = PREMIER(aBb) PREMIER() = {a}{}= {a,}
PREMIER(S) = PREMIER(aAbS) PREMIER() = {a}{}= {a,}
PREMIER(S) = PREMIER(bBaSS) PREMIER(S) = {b}{a,} = {a,b,}
Ensembles SUIVANT :
SUIVANT(A) : Le symbole A apparait dans :
-

aAbS : SUIVANT(A) doit contenir PREMIER(bS)\ {}


bAa: SUIVANT(A) doit contenir PREMIER(a) \ {}

Do SUIVANT(A) = {a,b}
SUIVANT (B) : Le symbole B apparait dans :
-

bBaSS : SUIVANT(B) doit contenir PREMIER(aSS) \ {}


aBb: SUIVANT(B) doit contenir PREMIER(b) \ {}

Do SUIVANT(B) = {a,b}
SUIVANT (S) : Le symbole S apparait dans :
-

bBaSS : SUIVANT(S) doit contenir PREMIER(S) \ {}


Cest un axiome donc SUIVANT(S) doit contenir $

Do SUIVANT(S) = {a,$}
SUIVANT (S) : Le symbole S apparait dans :
-

bBaSS : SUIVANT(S) doit contenir SUIVANT(S)


S : SUIVANT(S) doit contenir SUIVANT(S)

Do SUIVANT(S) = SUIVANT(S)= {a,$}


5
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
La table danalyse LL(1) est la suivante :
S
S
A
B

a
S S
SaAbS
S
A
B aBb
B

b
S bBaSS

$
S S
S

A bAa
A
B

M[S,a] = S Spuisque aPREMIER(S)


M[S,$] = S Spuisque PREMIER(S) et $SUIVANT(S)
M[S,b] = S bBaSSpuisque bPREMIER(bBaSS)
M[S,a] = SaAbS puisque aPREMIER(aAbS)
M[S,a] = S puisque PREMIER() et aSUIVANT(S)
M[S,$] = S puisque PREMIER() et $SUIVANT(S)
M[A,a] = A puisque PREMIER() et aSUIVANT(A)
M[A,b] = A puisque PREMIER() et bSUIVANT(A)
M[A,b] = A bAa puisque bPREMIER(bAa)
M[B,a] = B puisque PREMIER() et aSUIVANT(B)
M[B,b] = B puisque PREMIER() et bSUIVANT(B)
M[B,a] = B aBb puisque aPREMIER(aBb)

Nous constatons que certaines cases de cette table, notamment M[S,a], M[A,b] et M[B,a] contiennent
deux rgles. Lanalyseur ne pourra pas dcider quelle rgle appliquer si, par exemple, au sommet de la
pile nous avons le symbole A et que le prochain symbole dans lentre est b.
2. Il suffit davoir une chane pour laquelle nous pouvons construire deux arbres de drivation

6
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Exercice6 :
Les rgles de productions de la grammaire sont :
S abA |
A Saa | b
Nous allons, tout dabord, construire les ensembles PREMIER et SUIVANT :
PREMIER(S) = PREMIER(abA) PREMIER() = {a+ *} = {a,}
PREMIER(A) = PREMIER(Saa) PREMIER(b)
Or PREMIER(Saa) = PREMIER(S)\ {+ PREMIER(a)= {a}
(Saa est de la forme Y1Y2Y3, puisque PREMIER(S) alors il faut considrer aussi PREMIER(a))
Do PREMIER(A)={a,b}
SUIVANT(S) : S apparait dans Saa, do SUIVANT(S) = {$+ PREMIER(aa) = {a,$}
SUIVANT(A) : A apparait dans abA, do SUIVANT(A) = SUIVANT(S) = {a,$}
Pour S abA | , nous avons :

PREMIER(abA)PREMIER() = *a+ *+ =
* alors vrifions PREMIER(abA) SUIVANT(S) = {a+ *a,$+ . Do Cette grammaire nest
pas LL(1)

Nous pouvons procder galement en construisant la table danalyse LL(1)


S
A

a
S abA
S
A Saa

$
S

Ab

M[S,a] = S puisque PREMIER(S) et aSUIVANT(S)


M[S,$] = S puisque PREMIER(S) et $SUIVANT(S)
M[S,a] = S abA puisque aPREMIER(abA)
M[A,a] = A Saa puisque aPREMIER(Saa)
M[A,b] = Ab puisque b PREMIER (b)
7

E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Nous constatons que M[S,a] contient deux rgles do cette grammaire nest pas LL(1).
Exercice7 :
Les rgles de productions de la grammaire sont : E EE | EE | E | (E) | v | f
1. Si nous nous inspirons de la grammaire des expressions arithmtiques ETF, nous obtenons la
grammaire suivante :
E E T | T
T T F | F
F F| (E)| v | f
2. Avant de construire la table LL(1), liminons la rcursivit gauche et factorisons gauche .
Ordonnons les symboles non-terminaux comme suit : E, T, F
i=1, Traitement de E : limons la rcursivit directe. Nous introduisons le nouveau symbole E
E TE
E TE|
i=2, Traitement de T : Pas de rcursivit indirecte. limons la rcursivit directe. Nous introduisons le
nouveau symbole T
T FT
T FT |
i=3, Traitement de F : Aucune rcursivit directe ou indirecte
La grammaire non rcursive gauche quivalente est alors :
E TE
E TE|
T FT
T FT |
F F| (E)| v | f
8
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Aucune factorisation gauche nest ncessaire. Calculons maintenant les ensembles PREMIER et
SUIVANT.
Ensembles PREMIER :
-

PREMIER(F) = PREMIER( F) PREMIER( (E)) PREMIER(v) PREMIER(f)


= {} {(} {v} {f} = { , ( , v , f}

PREMIER(T) = PREMIER(F) PREMIER() = {+ *} = { , }


PREMIER(T) = PREMIER(F) = { , ( , v , f} (PREMIER(F) ne contient pas donc on ne
sintresse pas PREMIER(T))
PREMIER(E) = PREMIER(TE) PREMIER() = {+ *} = { , }
PREMIER(E) = PREMIER(T) = { , ( , v , f}

Ensembles SUIVANT :
-

SUIVANT(E) = {), $} (E apparait uniquement dans (E) en plus cest laxiome)


SUIVANT(E) = SUIVANT(E) = {), $} ( E apparait uniquement dans E TE)
SUIVANT(T) = PREMIER(E)\ *+ SUIVANT(E) SUIVANT(E)= {, ) , $} (T apparait dans
E TE et dans E TE do SUIVANT(T) contient PREMIER(E)\ *+. Or PREMIER(E),
alors SUIVANT(T) doit contenir SUIVANT(E) cause de E TE et doit contenir SUIVANT(E)
cause de E TE)
SUIVANT(T)=SUIVANT(T) = {, ) , $} ( T apparait dans T FT)
SUIVANT(F) = PREMIER(T)\ *+ SUIVANT(T) SUIVANT(T)= { , , ) , $} (F apparait dans
T FT et dans T FT do SUIVANT(F) contient PREMIER(T)\ *+. Or PREMIER(T),
alors SUIVANT(F) doit contenir SUIVANT(T) cause de T FT et doit contenir SUIVANT(T)
cause de T F)

Construisons la table LL(1)

E
E
T
T
F

E TE

(
E TE

T FT

T FT

E TE
T

v
E TE

f
E TE

T FT

T FT

E
T F

T
FF

F (E)

T
Fv

Ff

9
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
3. Analysons la chane (v f) v
Reconnu

Pile

Entre

Action

E$

(v f) v $

Appliquer E TE

TE$

(v f) v $

Appliquer T FT

FTE$

(v f) v $

Appliquer F F

FTE$

(v f) v $

Reconnaitre

FTE$

(v f) v $

Appliquer F (E)

(E)TE$

(v f) v $

Reconnaitre (

E)TE$

v f) v $

Appliquer E TE

TE)TE$

v f) v $

Appliquer T FT

FTE)TE$

v f) v $

Appliquer F v

vTE)TE$

v f) v $

Reconnaitre v

(v

TE)TE$

f) v $

Appliquer T FT

(v

FTE)TE$

f) v $

Reconnaitre

(v

FTE)TE$

f) v $

Appliquer F f

(v

fTE)TE$

f) v $

Reconnaitre f

(vf

TE)TE$

) v$

Appliquer T

(vf

E)TE$

) v$

Appliquer E

(vf

)TE$

) v$

Reconnaitre )

(vf)

TE$

v$

Appliquer T

(vf)

E$

v$

Appliquer E TE

(vf)

TE$

v$

Reconnaitre

(vf)

TE$

v$

Appliquer T FT

(vf)

FTE$

v$

Appliquer F v

(vf)

vTE$

v$

Reconnaitre v

10
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
(vf) v

TE$

Appliquer T

(vf) v

E$

Appliquer E

(vf) v

Configuration daccepetation

Exercice8 :
Les rgles de productions de la grammaire sont :
S A | SA
A ab | aSb
1. Cette grammaire nest pas LL(1) :
Considrons S A | SA : nous avons PREMIER(A) = {a} et PREMIER(SA) = PREMIER(A)
= {a} ( cause du S A) PREMIER(A)PREMIER(SA)
Considrons A ab | aSb : nous avons PREMIER(ab) = {a} et PREMIER(aSb) = {a}
PREMIER(ab)PREMIER(aSb)
2. Pour construire la table SLR, il nous faut dabord construire lautomate LR(0).
Construction de lautomate :
La grammaire augmente est :
S S
S A | SA
A ab | aSb
I0 = FERMETURE({[S .S]}) = {[S .S], [S .A], [S .SA], [A .ab], [A .aSb]}
I1 = ALLER_(I0, S) = {[S S.], [S S.A], [A .ab], [A .aSb]}
I2 = ALLER_(I0, A) = {[S A.]}
I3 = ALLER_(I0, a) = {[A a.b], [A a.Sb], [S .A], [S .SA], [A .ab], [A .aSb]}
I4 = ALLER_(I1, A) = { [S SA.] }
ALLER_(I1, a) = I3
11
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
I5 = ALLER_(I3, b) = {[A ab.]}
I6= ALLER_(I3, S) ={[A aS.b], [S S.A], [A .ab], [A .aSb]}
ALLER_(I3, A) = I2
ALLER_(I3, a) = I3
I7 = ALLER_(I6, b) ={[A aSb.]}

ALLER_(I6, A) = I4
I3

ALLER_(I6, a)= I3

I2

S A.

S .SA

I1

A .ab

S S.

A .aSb

A .ab

S .SA

A .aSb

A .ab
$

A .aSb

I6
A aS.b
S S.A
A .ab

A .aSb
b

I4
S SA.

Accepter

Symbole
S
A

S S.A

S .A

A ab.

S .A

S .S

A a.Sb

I0

I5

A a.b

I7
A aSb.

SUIVANT
{a,b, $}
{a, b, $}

12
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Construisons maintenant la table SLR. Les productions seront numrotes comme suit :
(1) S A
(2) S SA
(3) A ab
(4) A aSb
tats
0
1
2
3
4
5
6
7

a
d3
d3
r1
d3
r2
r3
d3
r4

Action
b
$
r1
d5
r2
r3
d7
r4

Accepter
r1

Aller_
S
A
1
2
4
6

r2
r3
4
r4

ACTION[0,a] = d3 : cause des items A .ab et A .aSb dans I0 et la transition de I0 vers I3 sur a
ACTION[1,a] = d3 : cause des items A .ab et A .aSb dans I1 et la transition de I1 vers I3 sur a
ACTION[1, $] = Accepter : cause de litem S S. dans I1
ACTION[2,a] = ACTION[2,b] = ACTION[2, $] = r1 cause de litem S A. correspondant la
production portant le numro 1 et que SUIVANT(S) ={a,b, $}
ACTION[3,a] = d3 cause des items A .ab et A .aSb dans I3 et la transition de I3 vers I3 sur a
ACTION[3,b] = d5 cause des items A a.b et A a.Sb dans I3 et la transition de I3 vers I5 sur b
ACTION[4,a] = ACTION[4,b] = ACTION[4, $] = r2 cause de litem S SA. correspondant la
production portant le numro 2 et que SUIVANT(S) ={a,b, $}
ACTION[5,a] = ACTION[5,b] = ACTION[5, $] = r3 cause de litem A ab. correspondant la
production portant le numro 3 et que SUIVANT(A) ={a,b, $}
ACTION[6,a] = d3 cause des items A .ab et A .aSb dans I6 et la transition de I6 vers I3 sur a
ACTION[7,a] = ACTION[7,b] = ACTION[7, $] = r4 cause de litem A aSb. correspondant la
production portant le numro 4 et que SUIVANT(A) ={a,b, $}
ALLER_[0,S] = 1 et ALLER_[0,A] = 2 daprs les transitions de I0 sur S et sur A
ALLER_[1,A] = 4 daprs la transition de I1 sur A
ALLER_[3,S] = 6 et ALLER_[3,A] = 2 daprs les transitions de I3 sur S et sur A
ALLER_[6,A] = 4 daprs la transition de I6 sur A

13
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
3. Analysons la chane ababaabb. Les
Pile

Entre
0
ababaabb$
03
babaabb$
035
abaabb$
02
abaabb$
01
abaabb$
013
baabb$
0135 aabb$
014
aabb$
01
aabb$
013
abb$
0133 bb$
01335 b$
0132 b$
0136 b$
01367 $
014
$
01
$

Action
d3
d5
r3
r1
d3
d5
r3
r2
d3
d3
d5
r3
r1
d7
r4
r2
Accepter

Exercice9 :
Les rgles de productions de la grammaire sont :
C Ax
A a | aB
B xy
1. Cette grammaire nest pas LL(1) puisque dans les A-productions PREMIER(a) PREMIER(aB)
2. Pour montrer si cette grammaire est SLR, il nous faut construire la table danalyse SLR. Pour ce
faire, il faut tout dabord construire lautomate LR(0).

14
E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
La grammaire augmente sera :
C C
C Ax
A a | aB
B xy
Construisons lensemble des items (Collection canonique LR(0))
I0 = FERMETURE({[C .C]}) = {[C .C], [C .Ax], [A .a], [A .aB]}
I1 = ALLER_ (I0, C) = {[C C.]}
I2 = ALLER_ (I0, A) = {[C A.x]}
I3 = ALLER_ (I0, a) = {[A a.], [A a.B], [B .xy]}
I4 = ALLER_ (I2, x) = {[C Ax.]}
I5 = ALLER_ (I3,B) = {[A aB.]}
I6 = ALLER_ (I3, x) = {[B x.y]}
I7 = ALLER_ (I6, y) = {[ B xy.]}

C
A

I0
C .C

C .Ax

I1

Accepter

C C.
I2

C A.x

I4
C Ax.

I5

A .a
A .aB

I3

A aB.

A a.
A a.B
B .xy

I6
x

B x.y

I7
B xy.
15

E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)
Calculons les ensembles SUIVANT :
Symbole
C
A
B

SUIVANT
{$}
{x}
{x}

Voici la table danalyse SLR avec les productions numrotes comme suit:
(1) C Ax
(2) A a
(3) A aB
(4) B xy
tats
0
1
2
3
4
5
6
7

a
d3

Action
y

Aller_
C A B
1
2

Accepter
d4
d6
r2

5
r1

r3
d7
r4

ACTION[0,a] = d3 : cause des items A .a et A .aB dans I0 et la transition de I0 vers I3 sur a


ACTION[1, $] = Accepter : cause de litem C C. dans I1
ACTION[2,x] = d4 cause de litem C A.x dans I2 et la transition de I2 cers I4 sur x
ACTION[3,x] = d6 cause de litem B .xy dans I3 et la transition de I3 vers I6 sur x
ACTION[3,x] = r2 cause de litem A a. dans I3 correspondant la production portant le numro
2 et que SUIVANT(A)={x}
ACTION[4, $] = r1 cause de litem C Ax. correspondant la production portant le numro 1 et
que SUIVANT(C) ={$}
ACTION[5,x] = r3 cause de litem A aB. correspondant la production portant le numro 3 et
que SUIVANT(A) ={x}
ACTION[6,y] = d7 cause de litem B x.y dans I6 et la transition de I6 vers I7 sur x
16

E. Menif Abassi

cole Suprieure de Technologie


Dpartement Informatique
TLA & Compilation (Groupes C & E)

ACTION[7,x] = r4 cause de litem B xy. correspondant la production portant le numro 4 et


que SUIVANT(B) ={x}
ALLER_[0,C] = 1 et ALLER_[0,A] = 2 daprs les transitions de I0 sur c et sur A
ALLER_[3,B] = 5 daprs la transitions de I3 sur B

Nous remarquons que ACTION[3,x] contient deux actions un dcalage et une rduction, ceci constitue un
conflit de type Dcalage/Rduction . Par consquent, cette grammaire nest pas SLR.

17
E. Menif Abassi

Vous aimerez peut-être aussi