Vous êtes sur la page 1sur 2

Exercice :

1. Donner une grammaire régulière à gauche engendrant le langage formé de a et b,


mais contenant au moins 2a et 2b consécutifs.
2. Déduire l'AEF déterministe correspondant.
3. Analyser les chaines <abaa#> , <baba#>.

Grammaire régulière gauche :

{
S 0 S 0 a/ S 0 b /S 1 a/ S 2 b
S 1  S 2a / a
S 2  S 1 b /b

Déroulement :
S 0 S 1 a S 2 aa
S 1 baa S 2 abaa
S 1 babaa
 ababaa

Automate :
a a/b
a S1

S0
S'
a b

b b
S2

Matrice de transition:

a b
S' S1 S2
S0 S0 S0
S1 S0 S2
S2 S1 S0

-1-
Algorithme de reconnaissance :

Début
Lire (chaine);
Tc := 1er caractère de la chaine ;
Ec := S' ;
Tant que ( Ec≠∅ ) et ( Tc≠# )
Faire
Ec := T[Ec, Tc] ;
Tc := Tc +1 ;
Fait;
Si Ec=∅ Alors Erreur : chaine incorrecte ;
Sinon Si Ec≠S 0 Alors Erreur ;
Sinon '' chaine correcte '' ;
codifier la chaine ;
Insérer la chaine dans la table des symboles;
Fsi;
Fsi;
Fin.

Analyse de la chaine :

Ec Tc Chaine Action
S' a abaa# Avancer
S1 b baa# Avancer
S2 a aa# Avancer
S1 a a# Avancer
S0 # # Avancer : - Chaine correcte
- codifier
- insérer
S' b baba# Avancer
S2 a aba# Avancer
S1 b ba# Avancer
S2 a a# Avancer
S1 # # Chaine incorrecte

-2-

Vous aimerez peut-être aussi