Cours Theorie De Langages Grammaires Ouatik
Chapitre 5
Langages algébriques
Grammaires algébriques
(à contexte libre, free context)
1
VI. Grammaires algébriques
VI.1. Définitions et notations
Définition :
Une grammaire algébrique (ou à contexte libre) est la structure G=(V,T,P,S) où
V T= et =V T avec :
V: ensemble de symboles appelés variables.
T: ensemble de symboles appelés terminaux.
P V *: ensemble de règles appelées règles de production.
S : un symbole particulier appelé axiome (symbole initial).
Notation :
Chaque règle de production (A,) est notée A .
2
VI. Grammaires algébriques
VI.1. Définitions et notations
Exemple 1 :
G=(V,T,P,S) avec V={S},T={a, b}
P: SaSb
Sε
Exemple 2 :
G=({S}, {+, *, (, ), a}, P, S) où P est défini par:
S S+S
S S*S
S (S)
Sa
3
VI. Grammaires algébriques
VI.1. Définitions et notations
Convention :
Les lettres capitales A, B, C, D,… désignent les variables.
Les lettres minuscules a, b, c, d… désignent les terminaux.
,, … désignent des chaines (mots) de variables et/ou de terminaux.
Simplification de la notation d’une grammaires :
Les règles de production ayant le même coté gauche A 1, A 2,… A k sont regroupées comme suit: A 1|2|…|k
Exemples :
1) SaSb| ε
2) S S+S| S*S| (S)| id
4
VI. Grammaires algébriques
VI.2. Dérivation et langages
Dérivation et langages :
Soit G=(V, T, P, S) une grammaire algébrique (CFG).
On définit la relation sur * (" dérive directement de"):
Soient , *
s.s.s =uAv, u *, A , v *
=u v
Et (A ) P
Exemple :
S aSb aaSbb aaaSbbb a3b3
5
VI. Grammaires algébriques
VI.2. Dérivation et langages
Remarque :
La relation n’est pas en général réflexive, ni transitive.
*
D’où on définit la relation comme étant la fermeture réflexive et transitive de
La relation * est lue: " dérive de ".
Notation :
Soient , *
Si i dérive de par l’application d’exactement i productions, alors on note:
Définition: i *
s.s.s i 0 tel