Académique Documents
Professionnel Documents
Culture Documents
La 1ère forme (αβ) est utilisée pour l’expression des règles de production dans notre cours.
1.2 .Grammaire
Définition: On appelle grammaire le quadruplet formée par (T, N, S, P) où S est l’axiome et P est
un ensemble de règles de production.
Conventions d’écritures:
- Les éléments de T sont écrits suivants des miniscules.
- Les éléments de N sont écrits suivant des majuscules.
- Si α α1; α α2 ; . . . . . α αn Alors on a écrit α α1 /α2/α3/ . . . /αn .
Remarques:
Si on veut utiliser une grammaire pour générer des mots sur un alphabet, l’ensemble des
lettres terminales T sera exactement l’alphabet.
L’ensemble contenant à la fois les terminaux et les non terminaux sera désigné par TUN
pour les différencier avec l’alphabet de base.
N contient au moins un élément qui est l’axiome.
Remarque:
Il existe une relation d’inclusion entre ces quatre types de grammaires:
(type3 type2 type1 type0)
On entend par type i le plus petit type satisfaisant la grammaire.
Toutes les grammaires sont de type 0.Une grammaire de type 0 n’est pas de type 1(à fortiori
ni de type 2 et 3).
Autres appellations des grammaires: Il existe dans la littérature des synonymes pour les
déférents types de grammaires. A titre indicatif, nous donnerons quelques synonymes:
- Grammaire de type 3 ou grammaire linaire droite, grammaire régulière à droite (regular grammar).
- Grammaire de type 2 ou grammaire algébrique, grammaire à contexte libre, grammaire de
Chomsky (contexte free grammar).
- Grammaire de type 1 ou grammaire à contexte lié (context sensitive grammar).
- Grammaire de type 0 ou grammaire sans restriction (unrestricted grammar).
1.3. Langage et grammaire: Soit une grammaire G (T, N, S, P) de type quelconque:
a- Relation "dérivée"
Définitions: Soient deux mots f et g de ( T N)*
1) On dit que g dérive directement de f si et seulement si il existe une règle de production:
α P tel que: f = uv et g = uv avec u, vX*
2) On dit que g dérive de f lorsque g est dérivé directement plusieurs fois de f.
Remarque:
La relation dérive est la fermeture réflexive et transitive de la relation dérive directement.
Notation:
- La relation dérive directement est notée par: (f g)
- La relation dérive est notée par: g ) (f
k k
- on peut préciser le nombre k de dérivations notée ainsi: (f g )
b- Forme "sententielles":
Définitions: Soit G (T, N, S, P) une grammaire de type i .
1) On définit une forme sententielle de manière itérative:
i) S est une forme sententielle.
ii) Si est une forme sententielle et si () P alors est aussi une forme
sententielle.
2) On appelle sentence une forme sententielle où ne figure aucun non terminal.
e- Mot engendré par une grammaire: Soit une grammaire G de type i quelconque et soit un mot f.
Pour déterminer si le mot f est engendré par G (fL (G)), il existe 2 manières:
e1) A travers des dérivations successives à partir de l'axiome, c'est à dire en utilisant directement la
définition.
e2) A travers l'arbre de dérivation. On définit un arbre (de dérivation) pour un mot donné par:
-le sommet de l'arbre est l'axiome.
-les branches sont les dérivations successives.
-les feuilles de l'arbre sont les symboles terminaux.
Exemple: soit G (T, N, S, P) avec T= {a, b}, P={s abT/ baT; TbT/}, N={S, T}.
Vérifier si les mots f, g, h {a, b}* tel que f =, g =abb, h=baba appartiennent à L (G).
- f=; il n'existe pas de règle qui donne le mot vide à partir de S fL (g).
- g=abb; S abT ab(bT) = abbT (abb) = abb
S abT abbT abb
S abb Ainsi gL(G).
Où
b T
Après regroupement des symboles terminaux on obtient : g = abb gL(G)
hL(G)
a b T
Remarques:
1) Conclure qu’un mot n’appartient pas au langage engendré par une grammaire revient à parcourir
toutes les règles de production.
2) Un mot peut avoir plus d’une suite de dérivations à partir de l’axiome S (plus d’un arbre de
dérivation), le mot est alors dit ambigu.
S S
S c S S b S
a a
S b S S c S
a a a a
Remarque:
Plusieurs variantes de ce langage de type 3 peuvent être obtenues en agissant sur n et m.
n ≥0 et m >0
n >0 et m ≥0
n >0 et m >0
D’autres langages peuvent être obtenus en changeant l’alphabet de base; par exemple {0,1} donne
0n 1m.
c) Le langage des expressions arithmétiques bien parenthèsées sur a est généré par:
G (T , N , E ,P) de Type 2
T ={a , +, * ,( , ) } N={ E, T , F}
P={ E E+T /T ; T T*F /F ; F (E) /a }
Une autre grammaire G’ = (T , {E} , E , P’) avec P’={E E+E / E*E / (E) / / a }
2.1. Description: Un système reconnaisseur est une machine qui permet de lire un mot à travers
ses différentes manipulations. Cette machine appelée AUTOMATE permet de reconnaître un
langage.
Schéma d’un automate: Il existe plusieurs types d’automate, cependant ils ont tous une structure
commune et leurs différences intervient sur des points précis, sans modifier la structure de base.
Bande en entrée
Organe de
commande
Mémoire
Auxiliaire
b- La gestion des états se fait à travers une fonction spécifique dite fonction de transition.
c- La mémoire auxiliaire est arbitrairement générée suivant la nécessite et elle dispose dans le cas
ou elle existe d’un alphabet spécial. Cette mémoire est caractérisée par des fonctions de recherche et
de stockage.
a) Configurations de l’automate
a.1. Extension de la fonction de transition : La fonction agit sur un symbole de X à la fois .Pour
lire les mots de X*. Est entendue à la fonction * qui agit sur X*.
* : Q X* Q
: Q X Q
*/X =
Exemple:
: Q X Q
* : Q X* Q
Pour lire mot aaa: * n’est rien d’autre que l’utilisation successive de pour la lettre a.
a.2. Mouvement de l’automate: Le fonctionnement d’un automate sur un mot se fait à travers une
succession de configurations.
Définition: On appelle configuration d’un automate pour un mot donnée l’image instantané de
l’automate donnée par :
La position de la tête de lecture.
L’état de l’automate.
Et éventuellement le contenu de la mémoire auxiliaire (lorsqu’elle existe).
Remarque:
1. Les configurations successives d’un automate sont déterminées à partir de qui est notée
par ├─ et * est notée par ├─*
2. Il existe deux configurations particulières: Initiale et Finale.
Définitions:
On appelle configuration initiale d’un automate la configuration où:
L’état est l’état initial.
La tête de lecture est pointée sur le 1er élément du mot.
Et éventuellement le contenu initial de la mémoire auxiliaire.
b) Langage reconnu par un automate: Le langage reconnu par un automate A noté L (A) est
l’ensemble des mots reconnus par cet Automate.
L(A) = { X* / configuration initiale ( ) ├─* Configuration finale ( )}
2.3. Classification des Automates
Type d’automate:A chaque type de grammaire (Langage) correspond un type d’automate comme
système reconnaisseur de langages.
Type 2: L’automate à pile de mémoire (APM): Sa structure est la même que celle de AEF
enrichie par une mémoire auxiliaire.
a) Sa bande en entrée est finie
b) Le sens de lecture est vers la droite
c) Pas d’écriture sur la bande
d) Mémoire auxiliaire illustre par une pile.
Type 1: Automate à borne linéaire (ABL). La structure est étendue par rapport à celle de AEF par
une lecture vers la gauche et un marquage (écriture sur la bande). Donc il est caractérisé par:
a) Sa bande en entrée est finie
b) La lecture dans les 2 sens
c) Ecriture (éventuelle) sur la bande, par un système de marquage
d) Pas de mémoire auxiliaire
Type 0: Machine de Turing (TM), sa structure est celle de ABL ou la bande en entrée est infinie.
La MT est caractérisée par :
a)La bande en entrée est infinie.
b) La lecture dans les 2 sens
c) Ecriture (éventuelle) sur la bande, par un système de marquage
d) Pas de mémoire auxiliaire