0% ont trouvé ce document utile (0 vote)
42 vues23 pages

Introduction aux Langages et Mots

Ce document présente les concepts fondamentaux des langages formels, y compris les définitions d'alphabet, de mots et de langages, ainsi que les opérations associées. Il aborde également les opérations sur les mots, telles que la concaténation, la puissance, et la factorisation, ainsi que les opérations sur les langages, comme l'union, l'intersection et la concaténation. Enfin, des exemples illustrent ces concepts, permettant de mieux comprendre leur application dans le domaine de la théorie des langages et de la compilation.

Transféré par

arnoldngoran813
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues23 pages

Introduction aux Langages et Mots

Ce document présente les concepts fondamentaux des langages formels, y compris les définitions d'alphabet, de mots et de langages, ainsi que les opérations associées. Il aborde également les opérations sur les mots, telles que la concaténation, la puissance, et la factorisation, ainsi que les opérations sur les langages, comme l'union, l'intersection et la concaténation. Enfin, des exemples illustrent ces concepts, permettant de mieux comprendre leur application dans le domaine de la théorie des langages et de la compilation.

Transféré par

arnoldngoran813
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Théorie des Langages et Compilation

Cours 1 : Les Langages

Dr MAMBE
Plan du cours

I. Alphabet
II. Mot
1. Définition
2. Opérations sur les mots
III. Langage
1. Définition
2. Opérations sur les langages

2
Introduction

De manière générale, les langages sont les supports naturels


de communication. Ils permettent aux hommes d’échanger
des informations. Ils leur permettent également de
communiquer avec les machines.

Les langages utilisés dans la vie de tous les jours entre êtres
humains sont dits naturels. Ils sont généralement informels
et ambigus et demandent toute la subtilité d’un cerveau
humain pour être interprétés correctement.

3
Alphabet

Définition

Un alphabet ,noté X, est un ensemble fini non vide des éléments appelés
symboles.

Remarque

Un symbole est une entité abstraite qui ne peut pas être définie
formellement comme les lettres, les chiffres….

Exemple

• X = {0,1}, l’alphabet binaire.

• A= {a,b,c,….,A,B,…é,ç…}, l’alphabet de la langue française

• B={le,bon,lait,0,1,$} est un alphabet de 6 symboles.


4
Mot
Définition

Un mot sur un alphabet X est une suite finie et totalement ordonnées


composées d'éléments de X.

Exemples

• 00, 11, 01001, 10000, 111, 101, ce sont des mots sur l’alphabet X=
{0,1}
• bon est un mot sur l’alphabet de la langue française et un symbole sur
l’alphabet X={le,bon,lait,0,1,$}. Donc, lebonlait est un mot de 3
symboles sur ce dernier alphabet.

5
Mot
Définition

Notations

• Le mot vide, noté par ε, est le mot qui ne contient aucun élément d’un
alphabet X.

• L’ensemble des mots construits sur un alphabet X est un ensemble infini


noté X*.

• L’ensemble des mots construits sur un alphabet X qui ne contient pas le


mot vide est un ensemble infini noté X+ . On écrit :

X*=X+ ⋃ {ε}

6
Mot
Définition

Exemple

Soit l’alphabet X= {a, b, c}, donc X* définit sur X est :


X*={ε, a, b, c, aa, bb, cc, ac, ab, ba, bc, ca, cb, aba, abb,…..}
={ε} ⋃{a, b, c} ⋃{aa, ab, bb,ba,cc,..}⋃{aaa, bbb, cccc,…}⋃…⋃{}
={ε}+{a, b, c} +{aa, ab, bb,ba,cc,..}+{aaa, bbb, cccc,…}+…+{}
Si on note: Xi l’ensemble des mots de longueur i construits sur l’alphabet X, donc on a:

7
Mot
Longueur d’un mot

Définition:

Soient X un alphabet, w ∈ X* et x un des symboles constituant le mot w :


 |w| est la longueur du mot w.
 |w|x est le nombre de l’occurrence de x dans dans le mot w.

Exemple

X={a, b, c}, |abcbaa|=6, |abcbaa|a=3

8
Mot
Opérations sur les mots

Concaténation
Soient deux mots w, w’ ∊ X*, la concaténation de w et w’ est définie comme la
juxtaposition de w et w’. Elle est notée par w.w’ on bien ww’.

Exemple

X= {0,1},
w=10, w’=00
w.w’=1000 ≠
w’w=0010

9
Mot
Opérations sur les mots

Puissance d’un mot


Soit un alphabet X , w ∊X* et n ∊ IN, la puissance de w est donnée comme suit :

Exemple
Soit X= {a, b} et w = aba ,
• w0=ε
• w1=w. ε = w=aba
• w2=ww1=ww=abaaba
• w3=ww2=www= abaabaaba

10
Mot
Opérations sur les mots

Factorisation d’un mot

Soit un alphabet X et w, u ∊X* :


• u est un facteur gauche (préfixe) de w  ∃ v ∊ X* tel que w =uv
• u est un facteur droit (suffixe) de w  ∃ v ∊ X* tel que w =vu
• u est un préfixe propre de w  ∃ v ∊ X+ tel que w = uv
• u est un suffixe propre de w  ∃ v ∊ X+ tel que w = vu

11
Mot
Opérations sur les mots

Factorisation d’un mot

Exemple:
Soit l’alphabet X= {a, b}, et le mot w = babb :
• Les préfixes de w sont, b, ba, bab, babb
• Les suffixes de w sont, b, bb, abb, babb
• Les préfixes propres de w sont: b, ba , bab
• Les suffixes propres de w sont: b , bb , abb

12
Mot
Opérations sur les mots
Inverse d’un mot ou Miroir

Le miroir d’un mot w= a1a2……an est le mot noté wR= an ……a2a1 obtenu en inversant les
symboles de w.

Exemple

Soit w=abbc un mot de l’alphabet x={a, b, c}, le mot miroir de w est wR=cbba.

Remarque

Le miroir de n’importe quel mot composé d’un seul symbole est le mot lui-même.
- Le miroir de mot vide est lui-même εR=ε.
- Un mot est un palindrome si wR = w , ex :(aba)R=aba.

13
Mot
Opérations sur les mots
Relation d’ordre
On définit dans X* plusieurs relations d'ordre :

• Ordre préfixiel = ordre partiel défini par U < V ssi U est un facteur gauche de V.
• Ordre lexicographique (ordre du dictionnaire) = ordre total qui étend l'ordre
préfixiel
• Ordre hiérarchique= est un ordre total. Les mots sont classés d'abord par
longueur, puis pour les mots de
même longueur par ordre lexicographique (suppose que l'on a ordonné les lettres de
l'alphabet).

-> Sur la représentation graphique

Un mot précède un autre dans un


ordre hiérarchique s'il se trouve à un
niveau plus élevé ou bien étant sur le
même niveau s'il se trouve plus à
gauche que celui-ci.
14
Langage
Définition

Un langage sur un alphabet X est une partie de X*. Donc un langage est un ensemble
de mots.
On note L ⊆ X * ou L ∊ P (X*).

 Exemple
 Soit l’alphabet X={a, b}
 ∅ est le langage vide, il ne contient aucun mot.
 {ε} est un langage.
 {a, b, aa, bb, aba} est un langage
 {w ∊ X* / w= an tel que n >0}={a,aa,aaa,aaaa,…..} est un langage

 Remarque
 Un langage sur un alphabet X peut être fini ou infini
 ∅ est un langage défini sur n’importe quel alphabet.

15
Langage
Opérations sur les langages

Les langages étant des ensembles, toutes les opérations ensemblistes « classiques »
leur sont donc applicables.

Soient L1, L2 ⊆ X* : L1 ∪ L2= {w ∊ X* / w ∊ L1 ou w ∊ L2}

 Union

L’union de L1 et L2 est l’ensemble des


mots de L1 et L2 : Elle est :
 Associative.
 Commutative
 Elément neutre , le langage vide ∅ : L ∪ ∅=∅ ∪ L=L
 Elément absorbant, le vocabulaire X* : L ∪ X* =X* ∪ L=X*
 Notée + dans la théorie des langages. On écrit aussi : L1+L2= {w ∊ X* / w ∊ L1 ou
w ∊ L2}

16
Langage
Opérations sur les langages

 Intersection

L’intersection de L1 et L2 est l’ensemble des mots qui appartiennent à la fois à L1 et L2 :


L1 ∩ L2= L2 ∩ L1= {w ∊ X* / w ∊ L1 et w ∊ L2}

Elle est :

 Associative
 Commutative
 Son élément neutre est X*
 Son élément absorbant est ∅ (puisque " ∀L : ∅ ∩ L=L ∩ ∅ = ∅)

17
Langage
Opérations sur les langages

 Produit ou concaténation

Le produit des langages appelé aussi la concaténation des langages est le


résultat de la concaténation de chaque mot de L1 avec chaque mot de L2 (Ce n’est
pas le produit cartésien) :
Elle est :

L1. L2 = {u. v / u ∊ L1 et v ∊ L2}

Le produit est :
 Associatif
 Il n’est pas commutatif
 Son élément neutre est {ε}
 Son élément absorbant est ∅

18
Langage
Opérations sur les langages

 Théorème
Le produit de langages est distributif par rapport à l’union

Attention ! : Le produit de langages n’est pas distributif par rapport à l’intersection.

19
Langage
Opérations sur les langages

 Puissance
La puissance ou l’itération d’un langage est définit comme suit :

Attention ! Ne pas confondre Ln avec le langage contenant les puissances nièmes des
mots de L et qui serait défini par {u ∈ X⋆, ∃v ∈ L, u = vn}.

20
Langage
Opérations sur les langages

 La fermeture positive
La fermeture positive de L noté L+ et on écrit

 La fermeture de Kleene
La fermeture étoile de L nommée aussi la fermeture de Kleene et notée L* est défini

• L*=L+∪{ε} et L+=L.L*

21
Langage
Opérations sur les langages

 Exemple

Soit X= {0,1}, L1= {00, 11, 01} et L2= {01, 10}


 L1+ L2= {00, 11, 01, 10}
 L1 ∩ L2= {01}
 L1.L2 = {0001, 0010, 1101, 1110, 0101, 0110} ≠ L2.L1= {0100, 0111, 0101, 1000,
1011, 1001}
 L2 = {ε} +{L2} + {L2. L2} + {L2. L2.L2} +….. +{L2. L2.L2……. L2. L2.L2}

22
Application

Soit l’alphabet A = {a, b}


Etant donnés les mots u = aa et v = bab
1. Ecrire les mots uv, (uv)2 et u3v.
2. Enoncer tous les mots de longueur 2 définis sur A.
3. Définir autrement les ensembles suivants:
E1 = {u.v / u ∈ A+, v ∈ A+} , E2 = {u.v / u ∈ A+, v ∈ A*} , E3 = {u.v / u ∈ A*,
v ∈ A *}

23

Vous aimerez peut-être aussi