Académique Documents
Professionnel Documents
Culture Documents
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
Plan du cours
3
Dfinitions
Alphabet Mot Langage
Systme gnrateur (Grammaire) Systme reconnaisseur (Automate) Types des langages Langage algbrique (Type2) Rcapitulatif
Habiba Bouzidi
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
Dfinitions
Grammaire
Automate
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
Dfinitions
Grammaire
Automates
Langage algbrique 6
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
Dfinitions
Grammaire
Automates
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
Dfinitions
Grammaire
Automates
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
Langage algbrique 9
Un mot m
Automate G
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
Dfinitions
Grammaire
Automates
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
Dfinitions
Grammaire
Automates
Langage algbrique 11
G=
Toutes les rgles sont sous la forme: S avec (VN U VT )+ , (VN U VT )* et | |<=| | SaRbc|abc
G=
Dfinitions
Grammaire
Automates
Langage algbrique 12
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
Dfinitions
Grammaire
Automates
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
Habiba Bouzidi
Dfinitions
Grammaire
Automates
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
Dfinitions
Grammaire
Automates
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
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.
Merci
pour votre attention
bouzidi.habiba@yahoo.fr