Академический Документы
Профессиональный Документы
Культура Документы
Octobre, 2013
Exercice 4
S → 0S | 0S1S | ε
S → 0S | 0S1S | ε
S → 0S | 0S1S | ε
S → 0S | 0S1S | ε
Par H.R :
Par H.R :
v ∈ L, c-à-dire S ⇒∗ v .
Par H.R :
v ∈ L, c-à-dire S ⇒∗ v .
et w ∈ L, c-à-dire S ⇒∗ w .
Par H.R :
v ∈ L, c-à-dire S ⇒∗ v .
et w ∈ L, c-à-dire S ⇒∗ w .
Par suite : S ⇒ 0S1S ⇒∗ 0v 1S ⇒∗ 0v 1w = x.
Par H.R :
v ∈ L, c-à-dire S ⇒∗ v .
et w ∈ L, c-à-dire S ⇒∗ w .
Par suite : S ⇒ 0S1S ⇒∗ 0v 1S ⇒∗ 0v 1w = x.
Donc, x ∈ L(G ).
Question 1 :
Question 1 :
La grammaire est réduite :
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
2 Acc(G ) = {S, A, B} = V = Util(G ).
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
2 Acc(G ) = {S, A, B} = V = Util(G ).
Calcul des symboles nullables :
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
2 Acc(G ) = {S, A, B} = V = Util(G ).
Calcul des symboles nullables :
1 N0 = {S}, car S → ε.
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
2 Acc(G ) = {S, A, B} = V = Util(G ).
Calcul des symboles nullables :
1 N0 = {S}, car S → ε.
2 N1 = N0 , stop.
Question 1 :
La grammaire est réduite :
1 Prod(G ) = {S, A, B} = V .
2 Acc(G ) = {S, A, B} = V = Util(G ).
Calcul des symboles nullables :
1 N0 = {S}, car S → ε.
2 N1 = N0 , stop.
Donc : Null(G ) = {S}.
Question 2 :
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
X → a et Y → b.
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
X → a et Y → b.
Puis on transforme les règles de la grammaire :
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
X → a et Y → b.
Puis on transforme les règles de la grammaire :
S → ASB | AB
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
X → a et Y → b.
Puis on transforme les règles de la grammaire :
S → ASB | AB
A → XAS | XA | a
Question 2 :
On ajoute deux symboles variables X et Y et les règles :
X → a et Y → b.
Puis on transforme les règles de la grammaire :
S → ASB | AB
A → XAS | XA | a
B → SYS | YS | SY | XAS | XA | YY | a | b
3 uv i wx i y ∈ L, (∀i ≥ 0).
Question 1 :
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Supposons l’inverse : L1 est HC.
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Supposons l’inverse : L1 est HC.
Alors, L1 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L1 , tel que ∀z ∈ L1 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Supposons l’inverse : L1 est HC.
Alors, L1 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L1 , tel que ∀z ∈ L1 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Supposons l’inverse : L1 est HC.
Alors, L1 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L1 , tel que ∀z ∈ L1 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
2 |vx| ≥ 1 (ou vx 6= ε).
Question 1 :
Montrons que L1 = {0n | n est premier} n’est pas HC.
Supposons l’inverse : L1 est HC.
Alors, L1 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L1 , tel que ∀z ∈ L1 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
2 |vx| ≥ 1 (ou vx 6= ε).
3 uv i wx i y ∈ L1 , (∀i ≥ 0).
Question 2 :
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Supposons l’inverse : L2 est HC.
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Supposons l’inverse : L2 est HC.
Alors, L2 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L2 , tel que ∀z ∈ L2 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Supposons l’inverse : L2 est HC.
Alors, L2 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L2 , tel que ∀z ∈ L2 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Supposons l’inverse : L2 est HC.
Alors, L2 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L2 , tel que ∀z ∈ L2 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
2 |vx| ≥ 1 (ou vx 6= ε).
Question 2 :
Montrons que L2 = {ai b j c k | i < j < k} n’est pas HC.
Supposons l’inverse : L2 est HC.
Alors, L2 vérifie le lemme de pompage : il existe un entier
N ≥ 0, ne dépendant que de L2 , tel que ∀z ∈ L2 de
longueur |z| ≥ N, il existe une décomposition de z sous la
forme z = uvwxy , telle que :
1 |vwx| ≤ N.
2 |vx| ≥ 1 (ou vx 6= ε).
3 uv i wx i y ∈ L2 , (∀i ≥ 0).
Exercice 1
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
S → Aa | b
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
S → Aa | b
A → Ac | Sd | c
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
S → Aa | b
A → Ac | Sd | c
2 G2 définie par :
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
S → Aa | b
A → Ac | Sd | c
2 G2 définie par :
S → Sa | TSc | d
Exercice 1
Supprimer la récursivité gauche des grammaires suivantes
:
1 G1 définie par :
S → Aa | b
A → Ac | Sd | c
2 G2 définie par :
S → Sa | TSc | d
T → TbT | ε
Corrigé de l’exercice 1
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
1 Ordonner les non-terminaux A1 , A2 , ..., An .
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
1 Ordonner les non-terminaux A1 , A2 , ..., An .
2 Pour i := 1 à n Faire :
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
1 Ordonner les non-terminaux A1 , A2 , ..., An .
2 Pour i := 1 à n Faire :
Pour j := 1 à i − 1 Faire :
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
1 Ordonner les non-terminaux A1 , A2 , ..., An .
2 Pour i := 1 à n Faire :
Pour j := 1 à i − 1 Faire :
Remplacer chaque production de la forme Ai → Aj γ par
les règles Ai → δ1 γ | δ2 γ | ... | δk γ, où
Aj → δ1 | δ2 | ... | δk sont toutes les Aj -productions
courantes.
Corrigé de l’exercice 1
I Algorithme de l’élimination de la R.G.G :
1 Ordonner les non-terminaux A1 , A2 , ..., An .
2 Pour i := 1 à n Faire :
Pour j := 1 à i − 1 Faire :
Remplacer chaque production de la forme Ai → Aj γ par
les règles Ai → δ1 γ | δ2 γ | ... | δk γ, où
Aj → δ1 | δ2 | ... | δk sont toutes les Aj -productions
courantes.
Éliminer les R.G.I des Ai -productions.
Pour G1 :
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
A → Ac | Aad | c | bd
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
A → Ac | Aad | c | bd
On obtient finalement :
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
A → Ac | Aad | c | bd
On obtient finalement :
S → Aa | b
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
A → Ac | Aad | c | bd
On obtient finalement :
S → Aa | b
A → cA0 | bdA0
Pour G1 :
On classe les non-terminaux dans l’ordre S, A.
Pour i := 1, rien ne se produit, car il n’y a pas de R.G.I
dans les S-productions.
Pour i := 2, on remplace la règle A → Sd par :
A → Aad | bd
On élimine les R.G.I des A-productions :
A → Ac | Aad | c | bd
On obtient finalement :
S → Aa | b
A → cA0 | bdA0
A0 → ε | cA0 | adA0
Prof. Abdelmajid Dargham Chapitre 8 : L’outil d’analyse syntaxique Bison
Exercices supplémentaires
Pour G2 :
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour i := 2, il n’ y a pas de règle de la forme T → Sα.
Pas de boucle j.
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour i := 2, il n’ y a pas de règle de la forme T → Sα.
Pas de boucle j.
On élimine les R.G.I des T -productions :
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour i := 2, il n’ y a pas de règle de la forme T → Sα.
Pas de boucle j.
On élimine les R.G.I des T -productions :
T → T0
Pour G2 :
On classe les non-terminaux dans l’ordre S, T .
Pour i := 1, il y a une R.G.I dans les S-productions :
S → Sa.
On élimine les R.G.I des S-productions. On obtient :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour i := 2, il n’ y a pas de règle de la forme T → Sα.
Pas de boucle j.
On élimine les R.G.I des T -productions :
T → T0
T 0 → ε | bTT 0
Prof. Abdelmajid Dargham Chapitre 8 : L’outil d’analyse syntaxique Bison
Exercices supplémentaires
Pour G2 (suite):
Pour G2 (suite):
On élimine la règle unitaire T → T 0 , on obtient la
grammaire :
Pour G2 (suite):
On élimine la règle unitaire T → T 0 , on obtient la
grammaire :
S → TScS 0 | dS 0
Pour G2 (suite):
On élimine la règle unitaire T → T 0 , on obtient la
grammaire :
S → TScS 0 | dS 0
S 0 → ε | aS 0
Pour G2 (suite):
On élimine la règle unitaire T → T 0 , on obtient la
grammaire :
S → TScS 0 | dS 0
S 0 → ε | aS 0
T → ε | bTT 0
Pour G2 (suite):
On élimine la règle unitaire T → T 0 , on obtient la
grammaire :
S → TScS 0 | dS 0
S 0 → ε | aS 0
T → ε | bTT 0
T 0 → ε | bTT 0
Exercice 2
Exercice 2
Factoriser à gauche la grammaire suivante :
Exercice 2
Factoriser à gauche la grammaire suivante :
S → bacdAbd | bacdBcca
Exercice 2
Factoriser à gauche la grammaire suivante :
S → bacdAbd | bacdBcca
A → aD | cC | d
Exercice 2
Factoriser à gauche la grammaire suivante :
S → bacdAbd | bacdBcca
A → aD | cC | d
B → aB | aAA | cD
Exercice 2
Factoriser à gauche la grammaire suivante :
S → bacdAbd | bacdBcca
A → aD | cC | d
B → aB | aAA | cD
C → aCa | ε
Exercice 2
Factoriser à gauche la grammaire suivante :
S → bacdAbd | bacdBcca
A → aD | cC | d
B → aB | aAA | cD
C → aCa | ε
D → a | bE | ε
Corrigé de l’exercice 2
Corrigé de l’exercice 2
S → bacdS 0
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
A → aD | cC | d
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
A → aD | cC | d
B → aB 0 | cD
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
A → aD | cC | d
B → aB 0 | cD
B 0 → B | AA
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
A → aD | cC | d
B → aB 0 | cD
B 0 → B | AA
C → aCa | ε
Corrigé de l’exercice 2
S → bacdS 0
S 0 → Abd | Bcca
A → aD | cC | d
B → aB 0 | cD
B 0 → B | AA
C → aCa | ε
D → a | bE | ε
Exercice 3
Exercice 3
Soit la grammaire des expressions logiques :
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
1 La grammaire est-elle LL(1) ?
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
1 La grammaire est-elle LL(1) ?
2 Supprimer la récursivité gauche.
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
1 La grammaire est-elle LL(1) ?
2 Supprimer la récursivité gauche.
3 Calculer les ensembles First et Follow des symboles
variables de la nouvelle grammaire.
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
1 La grammaire est-elle LL(1) ?
2 Supprimer la récursivité gauche.
3 Calculer les ensembles First et Follow des symboles
variables de la nouvelle grammaire.
4 Donner la table d’analyse LL(1) de la nouvelle
grammaire.
Exercice 3
Soit la grammaire des expressions logiques :
E → E ou T | T
T → T et F | F
F → non F | (E ) | vrai | faux
1 La grammaire est-elle LL(1) ?
2 Supprimer la récursivité gauche.
3 Calculer les ensembles First et Follow des symboles
variables de la nouvelle grammaire.
4 Donner la table d’analyse LL(1) de la nouvelle
grammaire.
5 Donner la pile d’analyse du mot ”vrai et (faux ou
vrai)”, et en déduire l’arbre de dérivation pour ce mot.
Corrigé de l’exercice 3
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
E → TE 0
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
E → TE 0
E 0 → ou TE 0 | ε
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
E → TE 0
E 0 → ou TE 0 | ε
T → FT 0
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
E → TE 0
E 0 → ou TE 0 | ε
T → FT 0
T 0 → et FT 0 | ε
Corrigé de l’exercice 3
1 La grammaire n’est pas LL(1), car elle est récursive à
gauche.
2 Suppression de R.G.I :
E → TE 0
E 0 → ou TE 0 | ε
T → FT 0
T 0 → et FT 0 | ε
F → non F | (E ) | vrai | faux
Question 3
Question 3
On ajoute la règle de la grammaire augmentée :
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
2 First(E ) = First(TE 0 ) = First(T ) (T n’est pas nullable).
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
2 First(E ) = First(TE 0 ) = First(T ) (T n’est pas nullable).
3 First(E 0 ) = {ou}.
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
2 First(E ) = First(TE 0 ) = First(T ) (T n’est pas nullable).
3 First(E 0 ) = {ou}.
4 First(T ) = First(FT 0 ) = First(F ) (F n’est pas nullable).
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
2 First(E ) = First(TE 0 ) = First(T ) (T n’est pas nullable).
3 First(E 0 ) = {ou}.
4 First(T ) = First(FT 0 ) = First(F ) (F n’est pas nullable).
5 First(T 0 ) = {et}.
Question 3
On ajoute la règle de la grammaire augmentée :
S → E $.
Calcul des nullables :
Null(G ) = {E 0 , T 0 }.
Calcul des ensembles First :
1 First(S) = First(E $) = First(E ) (E n’est pas nullable).
2 First(E ) = First(TE 0 ) = First(T ) (T n’est pas nullable).
3 First(E 0 ) = {ou}.
4 First(T ) = First(FT 0 ) = First(F ) (F n’est pas nullable).
5 First(T 0 ) = {et}.
6 First(F ) = {non, (, vrai, faux}.
Par suite, on a :
Par suite, on a :
First(S) = {non, (, vrai, faux}.
Par suite, on a :
First(S) = {non, (, vrai, faux}.
First(E ) = {non, (, vrai, faux}.
Par suite, on a :
First(S) = {non, (, vrai, faux}.
First(E ) = {non, (, vrai, faux}.
First(E 0 ) = {ou}.
Par suite, on a :
First(S) = {non, (, vrai, faux}.
First(E ) = {non, (, vrai, faux}.
First(E 0 ) = {ou}.
First(T ) = {non, (, vrai, faux}.
Par suite, on a :
First(S) = {non, (, vrai, faux}.
First(E ) = {non, (, vrai, faux}.
First(E 0 ) = {ou}.
First(T ) = {non, (, vrai, faux}.
First(T 0 ) = {et}.
Par suite, on a :
First(S) = {non, (, vrai, faux}.
First(E ) = {non, (, vrai, faux}.
First(E 0 ) = {ou}.
First(T ) = {non, (, vrai, faux}.
First(T 0 ) = {et}.
First(F ) = {non, (, vrai, faux}.
La règle T 0 → et FT 0 ajoute :
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
{)} ⊆ Follow (E ).
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
{)} ⊆ Follow (E ).
La règle F → non F ajoute :
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
{)} ⊆ Follow (E ).
La règle F → non F ajoute :
Follow (F ) ⊆ Follow (F ) (trivial).
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
{)} ⊆ Follow (E ).
La règle F → non F ajoute :
Follow (F ) ⊆ Follow (F ) (trivial).
La règle F → vrai n’ajoute rien.
La règle T 0 → et FT 0 ajoute :
First(T 0 ) = {et} ⊆ Follow (F ) (déjà fait).
Follow (T 0 ) ⊆ Follow (F ), car T 0 est nullable.
Follow (T 0 ) ⊆ Follow (T 0 ) (trivial).
La règle T 0 → ε n’ajoute rien.
La règle F → (E ) ajoute :
{)} ⊆ Follow (E ).
La règle F → non F ajoute :
Follow (F ) ⊆ Follow (F ) (trivial).
La règle F → vrai n’ajoute rien.
La règle F → faux n’ajoute rien.
En conclusion :
En conclusion :
1 Follow (E ) = {$, )}.
En conclusion :
1 Follow (E ) = {$, )}.
2 Follow (E 0 ) = {$, )}.
En conclusion :
1 Follow (E ) = {$, )}.
2 Follow (E 0 ) = {$, )}.
3 Follow (T ) = {$, ), ou}.
En conclusion :
1 Follow (E ) = {$, )}.
2 Follow (E 0 ) = {$, )}.
3 Follow (T ) = {$, ), ou}.
4 Follow (T 0 ) = {$, ), ou}.
En conclusion :
1 Follow (E ) = {$, )}.
2 Follow (E 0 ) = {$, )}.
3 Follow (T ) = {$, ), ou}.
4 Follow (T 0 ) = {$, ), ou}.
5 Follow (F ) = {$, ), ou, et}.
Question 4 :