Vous êtes sur la page 1sur 31

Grammaire et Classification de

Chomsky
Dr. Aida Lahouij

1
Introduction

Au sens littéraire du ter m e , les gr am m aires


désignent pour les langues naturelles, un ensemble
d e r è g l e s s y n t a x i q u e s c o nve n t i o n n e l l e s q u i
déterminent un emploi correct de la langue parlée et
écrite. Le même concept s'applique aussi pour la
théorie des langages, en suivant les règles de
production d'une grammaire on peut engendrer un
langage.

2
I. Grammaire
I.1. Définition

Une grammaire est un ensemble de règles de production qui sont


utilisées pour engendrer un langage.
Exemple
- Dans la grammaire de la langue française on peut formuler une
phrase en respectant la séquence suivante :‘Sujet’ ‘Verbe’ 'COD’.
- On peut formuler un nombre bien défini des phrases en respectant
les règles de production suivantes :

PHRASE → SUJET VERBE COD


SUJET → je | il
VERBE → lis | conduit
COD → DETERMINANT NOM
DETERMINANT → un | la
NOM → livre | voiture

3
I. Grammaire
I.1. Définition

Exemple: À partir de ces règles syntaxiques on construit 24=16 phrases


syntaxiquement correct mais pas forcément sémantiquement correctes.

PHRASE → SUJET VERBE COD


SUIET → je | il
VERBE → lis | conduit
COD → DETERMINANT NOM
DETERMINANT → un | la
NOM → livre | voiture
Parmi lesquelles, on cite les deux phrases suivantes :

SUJET → Je
VERBE → lis
DETERMINANT→ un
NOM → livre
4
I. Grammaire
I.1. Définition

Exemple: À partir de ces règles syntaxiques on construit 24=16 phrases


syntaxiquement correct mais pas forcément sémantiquement correctes.

PHRASE → SUJET VERBE COD


SUIET → je | il
VERBE → lis | conduit
COD → DETERMINANT NOM
DETERMINANT → un | la
NOM → livre | voiture

Parmi lesquelles, on cite les deux phrases suivantes :


SUJET → il
VERBE → conduit
DETERMINANT → la
NOM → voiture
5
I. Grammaire
I.2. Définition formelle

Une grammaire G est un quadruplet (N, T, P, S) tels que :


N : ensemble fini de symboles non terminaux.
T : ensemble fini de symboles terminaux.
NՈT=Ø
S : symbole non terminal de départ (axiome).
P : ensemble fini de règles de production de la forme
α→β telque α є (NՍT)+-T+ et β є (NՍT)*
Exemple:
Dans l'exemple précédant, la grammaire est définie comme suit :
• N= {PHRASE, SUJET,VERBE, COD, DETERMINANT}
• T= {je, il, lire, conduire, un, la, livre, voiture}
• S= {PHRASE}
• P= {PHRASE →SUJET VERBE COD, COD→DETERMINANT NOM,
SUJET→je | il,VERBE→lis | conduit, DETERMINANT→un|la, NOM
→livre | voiture }
6
I. Grammaire
I.2. Définition formelle

Notations:

Dans les règles formelles d'une grammaire :


• Les symboles de l'alphabet sont écrits en minuscule et
appelés les symboles des terminaux.
• Les autres symboles (sauf le mot vide) sont écrits en
majuscule et appelés les symboles non terminaux.
• La génération des mots commence toujours à partir
d'un symbole non terminal appelé l'axiome (dans
notre exemple l'axiome = PHRASE).

7
I. Grammaire
I.3. Dérivation

§ Dérivation directe
Un mot w' dérive directement d'un mot w qu'on note w => w' si
une règle de G est appliquée une fois pour
passer de w à w'

C'est-à-dire : il existe une règle α→β dans P telle que : w=uαv et


w'=uβv avec avec u, v є (NUT)*.

8
I. Grammaire
I.3. Dérivation

§ Exemple
Soit la grammaire: G = ({S},{a, b}, {S →aSb, S→ԑ}, S) , nous avons :

1. aSb dérive directement de S et on écrit : S => aSb car il existe


une règle S→aSb є P telle que :
w = S et w' = aSb avec u=v=ԑ є(NUT)*

2. ab dérive directement de aSb et on écrit


aSb => ab car il existe une règle S→ԑ telle que :
w = aSb et w' = ab avec u=a et v=b

9
I. Grammaire
I.3. Dérivation

Soit la grammaire: G = ({S},{a, b}, {S → aSb, S→ԑ }, S) , nous avons :

X={a,b} l'aphabet

N={S}, T={a,b}, S={S}, P= {S → aSb, S→ԑ },

S→ԑ

S→aSb → aԑb→ab

S→aSb →aaSbb→aabb

S→ aSb→aaSbb→aaaSbbb→ aaabbb

L(G)={ԑ,ab, aabb, aaabbb, aaaabbbb,......,an bn }


10
I. Grammaire
I.3. Dérivation
O Dérivation au sens général

Un mot w' dérive d'un mot w qu'on note w =>w’, si on applique n fois les
règles de G pour passer de
w vers w' tel que n >= 0 :

C'est-à-dire : il existe une séquence de chaînes w1,w2,.…., wn

telle que :
w=w1 ; w’= wn et wi=> wi+1 pour ∀ 1<=i<n

Exemple
Soit la grammaire: G = ({S},{a, b}, {S→aSb, S→ԑ }, S) , nous avons :
S=> aSb => ab, c'est une dérivation de longueur 2

11
II. Langage engendré par une grammaire
II.1. Définition

Un langage engendré par une grammaire G= (N, T, P, S) est


l'ensemble des mots obtenus en appliquant des séquences de
dérivations à partir de l'axiome S.

on note :

L(GJ={wєT*|S=>*Gw}

12
II. Langage engendré par une grammaire
II.1. Définition

Exemples
1.Pour la grammaire G = ({A},{a, b}, {A -> aSb, A->ԑ }, A) , nous
avons:
- Mot minimal: ԑ
- La forme générale : L(G)={ anbn|n >= 0}

S=>aSb=>aaSbb => aaaSbbb.….=> anԑbn => an bn

Remarque

Une grammaire définit un seul langage par contre un même langage


peut être engendré par plusieurs grammaires différentes.

13
II. Langage engendré par une grammaire
II.1. Grammaire équivalente

Deux grammaires sont équivalentes si elles engendrent le même langage.

G équivalente à G' & L(G) = L(G’)


Exemple

1.G = ({S, A, B},{a, b},{S->aS, S-> ABb, A ->Aa|a, B ->b}, S)


S->aS->aABb->aabb
S->ABb->AaBb->Aabb->aabb
S->ABb->AaBb->Aabb->Aaabb->Aaaabb>aaaabb
2. G= ({S, A, B},{a, b},{S ->aS|aA, A ->aA|bB, B->b}, S)
S->aS->aaS->aaaS->aaaaA->aaaabB-> aaaabb
S->aS->aaA->aabB->aabb
On trouve que L(G)=L(G’) = {akb2 | k >=1}

14
III. Classification-Hiérarchie de Chomsky
III.1. Définition

Classification des grammaires

Selon la classification de Chomsky, les grammaires sont


regroupées en quatre types en fonction de la forme de leurs
règles de production.

Soit une grammaire G = (N, T, P. S)

• Grammaire Syntagmatique -Type 0


• Grammaire Monotone - Type 1
• Grammaire Algébrique (hors contexte) - Type 2
• Grammaire Régulière - Type 3

15
III. Classification-Hiérarchie de Chomsky
III.2. Grammaire Type 0

Classification des grammaires

Grammaire Syntagmatique — Type 0


G est dite grammaire de type 0 dite aussi grammaire sans
restriction (grammaire générale) : si toute ses règles sont de la forme
générale suivante :

α→β avec α є (NUT)+-T+ et β є (NUT)*

Exemple : α ne doit jamais être


uniquement un symbole
terminal
G=({S},{ab,c},{S→aS|Sb|c, aSb→Sa|bS},S) a->aS
ɛ->aS
Symbole terminal
16
III. Classification-Hiérarchie de Chomsky
III.3. Grammaire Type 1
Classification des grammaires

Grammaire monotone- Type 1


G est dite grammaire de type 1 dite aussi grammaire monotone : si
toutes ses règles sont de la forme :

α→β avec |α|<=|β| tels que α є (NUT)+ -T+ et βє (NUT)*

Exception : axiome →ԑ peut appartenir à P

Exemple :

G=({S, R, T},{a, b, c},{S→ԑ| aRbc | abc, R →aRTb | a Tb, Tb →bT, Tc →


cc }, S)

17
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2

Grammaire Algébrique (hors contexte)- Type 2

G est dite grammaire de type 2 dite aussi grammaire algébrique (hors


contexte) : si toutes ses règles sont
de la forme.

A→β avec A є N et β є (NUT)*

Exemple :
1. G=({S},{a, b}, {S→aSb|ԑ }, S)

Mots : ԑ, ab, aabb, aaabbb,….., anbn La partie gauche ne


contient pas un symbole
2. G=({S},{0, 1}, {S→ 0S0|1S1|ԑ|0|1},S) terminal
Mots : 00, 11, 010, 101, 000,111,101101.... aSb->aS
C'est la grammaire des Palindromes
18
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2
Arbre de dérivation- Arbre Syntaxique

Définition

• Dans le cas d'une grammaire hors-contexte G, on peut


représenter la dérivation d'une phrase de L(G) à partir de
l’axiome à l'aide d'un arbre syntaxique (ou arbre d'analyse ou
arbre de dérivation).

• Cette représentation fait abstraction de l'ordre d'application des


règles de la grammaire et aide à la compréhension de la syntaxe
de la phrase considérée.

19
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2

On appelle arbre de dérivation (ou arbre syntaxique), tout arbre tel que :

• La racine est le symbole de départ.


• Les feuilles sont des symboles terminaux ou ԑ.
• Les nœuds sont des non-terminaux.
• Les fils d'un nœud X sont Y0,Y1,...,Yn si et seulement si
X→Y0Y1, …,Yn avec les Yi є TUV

Pour déterminer si une chaîne terminale appartient au langage engendré


par une grammaire, on établit un arbre de dérivation dont la racine est
l’axiome, les feuilles sont des terminaux formant la chaîne donnée et les
nœuds sont des variables décrivant les régles utilisées.

20
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2

Arbre de dérivation - Arbre Syntaxique


Exemple

Soit la grammaire suivante : T={a, b, 0, 1, +, *, ( , )}, N={E, I}


avec E est l'axiome, et les règles de production suivantes :

E→I|E*E|E+E|(E)

I→a|b|Ia|Ib|I0|I1

21
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2

La figure ci-coté représente l'arbre de dérivation de l'expression :


a * (a + b00).
La dérivation la plus à gauche et la plus à droite fournissent le même arbre.

E→E*E
→1*E
→a*(E)
→a*(E+E)
→a * (I+E)
→ a * (a+E)
→ a * (a+I)
→a * (a+I0)
→ a * (a+I00)
→a * (a+b00)
22
III. Classification-Hiérarchie de Chomsky
III.4. Grammaire Type 2

Arbre de dérivation - Arbre Syntaxique


Soit la grammaire suivante : T={a, b, 0, 1, +, *, ( , )}, N={E, I} avec E
est l'axiome, et les règles de production suivantes :

E→I|E*E|E+E|(E)
I→a|b|Ia|Ib|I0|I1

• Dérivation la plus à gauche de : a*(b+a0)


E ⇒ E*E ⇒ I*E ⇒ a*E ⇒ a*(E) ⇒ a*(E+E) ⇒ a*(I+E) ⇒ a*(b+E) ⇒
a*(b+I) ⇒a*(b+I0) ⇒ a*(b+a0)

• Dérivation la plus à droite de : a*(b+a0)

E ⇒ E*E ⇒E*(E) ⇒ E*(E+E) ⇒ E*(E+I) ⇒ E*(E+I0) ⇒ E*(E+a0)


⇒E *(I +a0) ⇒ E *(b+a0) ⇒I *(b+a0) ⇒ a*(b+a0)
23
III. Classification-Hiérarchie de Chomsky
III.5. Grammaire Type 3

Grammaire Régulière- Type 3

G est dite grammaire de type 3 dite aussi grammaire régulière :si elle
est régulière à gauche ou bien à droite.

• Une grammaire G est dite régulière à gauche si toutes ses règles


sont de la forme :

A→Bw ou A→w avec A, B є N et w є T*

• Une grammaire G est dite régulière à droite si toutes ses règles


sont de la forme:

A→wB ou A→w avec A, B є N et w є T*

24
III. Classification-Hiérarchie de Chomsky
III.5. Grammaire Type 3

Grammaire Régulière - Type 3

• Une grammaire G est dite régulière à gauche si toutes ses règles sont
de la forme :
A→Bw ou A→w avec A, B є N et w є T*
• Une grammaire G est dite régulière à droite si toutes ses règles sont
de la forme
A→wB ou A→w avec A, B є N et w є T*

Exemple :
• G1=({S,A},{a,b},{S→Sb|Ab, A→Aa|a},S) grammaire régulière à gauche.
• G2=({S,A},{a,b},{S→aS|aA, A →bA|b},S) grammaire régulière à droite.
• G3=({S,A},{a,b},{S→aS|aA, A → Ab|b},S) grammaire n’est pas régulière ;
puisque n'est ni régulière à gauche ni régulière à droite.

25
III. Classification-Hiérarchie de Chomsky
III.5. Grammaire Type 3

O Remarques

1. On peut trouver que G1 et G2 engendrent le même langage. G1 génère les


mots de ce langage de la droite vers la gauche mais G2 génère les mots de ce
langage de la gauche vers la droite.

2. Il y a une relation d'inclusion stricte entre les 4 types des grammaires c'est
à dire :
Une grammaire de type i est aussi de type inférieur à i (1 <= i <= 3)

type 3 ⊂type 2 ⊂ type 1 ⊂type0

3. Le type retenu pour une grammaire est le type maximum de la grammaire


qui vérifie ses règles.

26
III. Classification-Hiérarchie de Chomsky
III.5. Grammaire Type 3

27
III. Classification-Hiérarchie de Chomsky
III.6.Types des langages

La classification des grammaires va permettre de classer les langages selon le type


maximum de La grammaire qui l'engendre (puisqu'un langage peut être engendré par
plusieurs grammaires de types différents).

Il y a une relation d'inclusion stricte entre les 4 types des langages.

On dit qu'un langage est de type i s’il est engendré par une grammaire de type i et pas
par une grammaire
d'un type supérieur.

28
IV. Exercices

29
IV. Exercices
Correction

30
IV. Exercices
Correction

31

Vous aimerez peut-être aussi