institut supérieur de gestion avril 2010 notions de base de la théorie des langages elaboré par :...
Post on 04-Apr-2015
137 Views
Preview:
TRANSCRIPT
Institut supérieur de gestion Avril 2010
Notions de base de la théorie des langages
Elaboré par : Habiba Bouzidi
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Objectifs du cours2
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Plan du cours
• Définitions– Alphabet
– Mot
– Langage
• Système générateur (Grammaire)• Système reconnaisseur (Automate)• Types des langages• Langage algébrique (Type2)• Récapitulatif
3
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Références
Notes du cours de Mme Lamia El Abed (ISG Tunis)
Daniel HERMAN, Théorie des langages et compilation, Octobre 2005, http://perso.univ-rennes1.fr/daniel.herman/ Editions-des-noisettes-et-des-sentiers/noisettes.html
4
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Alphabet : Ensemble fini de symboles (ou caractères), noté X
• Mot (ou phrase) : Suite finie d’éléments de X
• Notations:• X*: L’ensemble des mots formés à partir de X• | | | | : X+ → IN : Nombre d’occurrences de symboles de X x → |x| (ou Longueur d’un 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).
Définitions Grammaire Automate Types des langages Langage algébrique
5
● ● ● ● ● ● ● ● ● ● ●
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Langage : Un langage L sur X est une partie de X*
Un langage est un ensemble de motsExemple:
X={a,b}• L1:{aa, abba, bba }: langage fini
• L2 =
= {ab, aaaab, a…….b}: langage infini
Comment décrire un langage d’une manière formelle pour faciliter son traitement par un ordinateur?
Définitions Grammaire Automates Types des langages Langage algébrique
6
*''* / XwetbawwXw
● ● ● ● ● ● ● ● ● ● ●
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Formalisme général permettant de décrire un langage.
• Repose sur l’utilisation d’un mécanisme génératif capable de produire tous les mots d’un langage donné.
• DéfinitionUne 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 règles de la forme A → B, A ≠ ε, où A et B Є (VN V∪ T)*
Une règle α → β : α peut être réécrit en β permet de réécrire des mots sur VN ∪ VT
Exemple :
Définitions Grammaire Automates Types des langages Langage algébrique
7
● ● ● ● ● ● ● ● ● ● ●
α β
ω2βω1ω2αω1G
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• ExempleG=({a}, {S,S1}, S, P)
VT : {a}
VN : {S,S1}
P : (SaS1, S1aS1 , S1 ε)
• Notation
Etant donné une grammaire G, le langage L(G) est défini par : L(G) = { m X* | S ∈ ⇒G* m}
Définitions Grammaire Automates Types des langages Langage algébrique
8
● ● ● ● ● ● ● ● ● ● ●
L(G)={an/ n ≥1}
SaS1
S1aS1| ε1). G =
<S>::a<S1><S1>::a<S1>| ε
2). G =
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Un automate permet de caractériser un langage (les mots acceptés).
• DéfinitionUn automate à état fini est le cinquplet A = (Q, VT, δ, q0, F) avec
Q: Ensemble fini d’états
F : Ensemble des états finaux
δ : Fonction de transition , δ: Q X VTQ
q0 : Etat initial
Définitions Grammaire Automates Types des langages Langage algébrique
9
● ● ● ● ● ● ● ● ● ● ●
Automate G Un mot m Oui : si m L(G)∈
Non :sinon
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Exemple:
Reconnaître 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
Définitions Grammaire Automates Types des langages Langage algébrique
10
● ● ● ● ● ● ● ● ● ● ●
q1 q2q0
a b
c
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Type 3:langage régulier
Toutes les règles sont sous la forme:
α → x ou α → xβ Avec x Є VT ; α et β Є VN
• Type 2: Langage algébriqueToutes les règles sont sous la forme:
α → β avec α Є VN ; et β Є (VN U VT ) *
• Type 1:langage à contexte liéToutes les règles sont sous la forme:
α → β avec α Є (VN U VT )+ , β Є (VN U VT )* et | α |<=| β |
• Type 0: Aucune restriction sur la forme des règles
Définitions Grammaire Automates Types des langages Langage algébrique● ● ● ● ● ● ● ●
● ● ● 11
Exemple 1: pour un langage L={a*}
G=
SaSSε
SSaSε
ou
Exemple 3: Soit L={an bn cn/n ≥0}
G=
SεSaRbc|abcRaRTbR aTbTbbTTccc
Exemple 2: Soit L={an bn /n ≥1}
G= SaSb|ab
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Type 0
Type 1
Type 2
Type 3
Définitions Grammaire Automates Types des langages Langage algébrique
• Hiérarchie de Chomsky
12
● ● ● ● ● ● ● ● ● ● ●
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
• Définitions– Grammaire ambigüe :
Un mot est ambigüe s’il dispose de plus qu’une suite de dérivation gauche(ou droite)
Une grammaire est ambigüe si elle génère au moins un mot ambigüe
– Factorisation à gauche :
AaB|aC
Exemple: soit G= E →E+E | E*E
G’=
Définitions Grammaire Automates Types des langages Langage algébrique
13
● ● ● ● ● ● ● ● ● ● ●
A → aDD → B |C
E →E E’E’ →+E|*E
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
– Récursivité à gauche :
A → Aα| β
Exemple : soit G = S →Sa|a
• m=aaa , dérivation de m= S=>Sa=>Saa=>Saaa…. boucle infinie
• Soit G’=
• G’G
Dérivation de m: S=>aS’=>aaS’=>aaaS’aaa ε=>aaa = m est accepté
Définitions Grammaire Automates Types des langages Langage algébrique
14
● ● ● ● ● ● ● ● ● ● ●
S → aS’ S’ →aS’| ε
A → α A’A’ → β A’ | ε
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Définitions Grammaire Automates Types des langages Langage algébrique
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 dérivation d’un mot.
● ● ● ● ● ● ● ● ● ● ●
Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010
Récapitulatif
¤ La théorie des langages = Comprendre le fonctionnement des langages.
¤ Un langage = Ensemble de mots
¤ Un mot (ou lexème) = Une combinaison de symboles
¤ L'ensemble des symboles élémentaires alphabet
¤ La fonction associant l'alphabet au langage grammaire ¤ On peut associer à une grammaire un automate Déterminer si
un mot fait partie d'un langage.
¤ Domaines d’application : les compilateurs…
16
Merci pour votre attention
bouzidi.habiba@yahoo.fr
top related