Vous êtes sur la page 1sur 17

Notions de base de la thorie des langages

Elabor par : Habiba Bouzidi


Institut suprieur de gestion Avril 2010

Objectifs du cours
Connatre les concepts issus de la thorie des langages.

1
Gnrer des mots dun langage prcis.

2
Reconnatre lappartenance dun mot un langage.

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Plan du cours
3

Dfinitions
Alphabet Mot Langage

Systme gnrateur (Grammaire) Systme reconnaisseur (Automate) Types des langages Langage algbrique (Type2) Rcapitulatif

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Rfrences
4

Notes du cours de Mme Lamia El Abed (ISG Tunis) Daniel HERMAN, Thorie des langages et compilation, Octobre 2005, http://perso.univ-rennes1.fr/daniel.herman/ Editions-des-noisettes-et-des-sentiers/noisettes.html

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automate

Types des langages

Langage algbrique 5

Alphabet : Ensemble fini de symboles (ou caractres), not X Mot (ou phrase) : Suite finie dlments de X Notations: X*: Lensemble des mots forms partir de X | | : X+ IN : Nombre doccurrences de symboles de X x |x| (ou Longueur dun mot)
Exemple: X={a, b}; Soit m1= abbab ; |a|=2, |m1|=5

X+: X* /{} :Ensemble de tous les mots, sauf le mot vide an : Le mot compos de n occurrences de a (a0 est le mot vide).
Vocabulaire
Mots

{a, b} { il, ballon, ,joue, au, je} {if, then, else, C, X,=,0}
Habiba Bouzidi

aab, bba, ababa je joue ballon, il joue if C then X=0, C if else


ISG Tunis - Avril 2010

Notions de base de la thorie des langages

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 6

Langage : Un langage L sur X est une partie de X*


Un langage est un ensemble de mots
Exemple:

X={a,b}
L1:{aa, abba, bba }: langage fini L2 = w X * / w aw'b et w' X * = {ab, aaaab, a.b}: langage infini

Comment dcrire un langage dune manire formelle pour faciliter son traitement par un ordinateur?

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 7

Formalisme gnral permettant de dcrire un langage. Repose sur lutilisation dun mcanisme gnratif capable de produire tous les mots dun langage donn. Dfinition
Une grammaire est un quadruplet G = (VT, VN, S, P) o:
VT : vocabulaire terminal qui est le vocabulaire du langage VN : vocabulaire non-terminal, (VN VT = ) S : axiome: VN P : un ensemble de rgles de la forme A B, A , o A et B (VN VT)* Une rgle : peut tre rcrit en permet de rcrire des mots sur VN VT
Exemple : 1 Habiba Bouzidi

2 ISG Tunis - Avril 2010

Notions de base de la thorie des langages

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 8

Exemple
G=({a}, {S,S1}, S, P) VT : {a} VN : {S,S1} P : (SaS1, S1aS1 , S1 )
L(G)={an/ n 1}

Notation
1). G = SaS1 S1aS1| 2). G = <S>::a<S1> <S1>::a<S1>|

Etant donn une grammaire G, le langage L(G) est dfini par : L(G) = { m X* | S G* m}
Habiba Bouzidi Notions de base de la thorie des langages ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 9

Un mot m

Automate G

Oui : si m L(G) Non :sinon

Un automate permet de caractriser un langage (les mots accepts).

Dfinition
Un automate tat fini est le cinquplet A = (Q, VT, , q0, F) avec
Q: Ensemble fini dtats F : Ensemble des tats finaux : Fonction de transition , : Q X VTQ q0 : Etat initial

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 10

Exemple: Reconnatre les mot du langage L={ac*b}={ab, acb,accb,acccb,} A = ({q0,q1,q2}, {a,b,c}, , q0, {q2}) : Q X VTQ (q0,a) q1 (q1,b)q2 (q1,c)q1
a

b
q1 q2

q0

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 11

Type 3:langage rgulier


Toutes les rgles sont sous la forme: x ou x Avec x VT ; et VN

Exemple 1: pour un langage L={a*}


SaS ou S SSa S

G=

Type 2: Langage algbrique


Toutes les rgles sont sous la forme: avec VN ; et (VN U VT ) *

Exemple 2: Soit L={an bn /n 1}


G=
SaSb|ab

Type 1:langage contexte li

Toutes les rgles sont sous la forme: S avec (VN U VT )+ , (VN U VT )* et | |<=| | SaRbc|abc
G=

Exemple 3: Soit L={an bn cn/n 0}


RaRTb R aTb TbbT Tccc

Type 0: Aucune restriction sur la forme des rgles


Habiba Bouzidi Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique 12

Hirarchie de Chomsky * Langage naturel


Type 0

Type 1

* |||| * {anbncn/n1} *A * {anbn/n0}, Langages de programmation * Automate pile * A a ou A aB * {Ac*b}, langage de commandes * Automate tats finis

Type 2
Type 3

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique
13

Dfinitions
Grammaire ambige : Un mot est ambige sil dispose de plus quune suite de drivation gauche(ou droite) Une grammaire est ambige si elle gnre au moins un mot ambige Factorisation gauche :
AaB|aC A aD
D B |C

Exemple: soit G= E E+E | E*E G= E E E


E +E|*E

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique
14

Rcursivit gauche : A A| A A A A | Exemple : soit G = S Sa|a m=aaa , drivation de m= S=>Sa=>Saa=>Saaa. boucle infinie Soit G= S aS S aS| GG Drivation de m: S=>aS=>aaS=>aaaSaaa =>aaa = m est accept

Habiba Bouzidi

Notions de base de la thorie des langages

ISG Tunis - Avril 2010

Dfinitions

Grammaire

Automates

Types des langages

Langage algbrique
15

Soit un alphabet X={a,b}, 1. crire la grammaire du langage form sur X et constitu des palindromes. 2. Quel est le type de cette grammaire ? 3. Donner un exemple de drivation dun mot.
Solution:
1. SaSa SbSb Sa Sb S 2. Cette grammaire est de Type 2 car S VN , a S a (VN U VT ) * ( VN et (VN U VT ) * ) 3. SaSaabSbaabaSaba abaaba Le mot est abaaba Notions de base de la thorie des langages ISG Tunis - Avril 2010

Habiba Bouzidi

Rcapitulatif
16

La thorie des langages = Comprendre le fonctionnement des


langages.

Un langage = Ensemble de mots Un mot (ou lexme) = Une combinaison de symboles L'ensemble des symboles lmentaires alphabet
La fonction associant l'alphabet au langage grammaire On peut associer une grammaire un automate Dterminer si
un mot fait partie d'un langage.

Domaines dapplication : les compilateurs


Habiba Bouzidi Notions de base de la thorie des langages ISG Tunis - Avril 2010

Merci
pour votre attention
bouzidi.habiba@yahoo.fr

Vous aimerez peut-être aussi