Theorie Des Langages

17
Institut supérieur de gestion Avril 2010 Notions de base de la théorie des langages Elaboré par : Habiba Bouzidi

description

doc sur la théorie des langages

Transcript of Theorie Des Langages

Page 1: Theorie Des Langages

Institut supérieur de gestion Avril 2010

Notions de base de la théorie des langages

Elaboré par : Habiba Bouzidi

Page 2: Theorie Des Langages

Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010

Objectifs du cours2

Page 3: Theorie Des Langages

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

Page 4: Theorie Des Langages

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

Page 5: Theorie Des Langages

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

● ● ● ● ● ● ● ● ● ● ●

Page 6: Theorie Des Langages

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

● ● ● ● ● ● ● ● ● ● ●

Page 7: Theorie Des Langages

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

Page 8: Theorie Des Langages

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 =

Page 9: Theorie Des Langages

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

Page 10: Theorie Des Langages

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

Page 11: Theorie Des Langages

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

Page 12: Theorie Des Langages

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

● ● ● ● ● ● ● ● ● ● ●

Page 13: Theorie Des Langages

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

Page 14: Theorie Des Langages

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’ | ε

Page 15: Theorie Des Langages

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.

● ● ● ● ● ● ● ● ● ● ●

Page 16: Theorie Des Langages

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

Page 17: Theorie Des Langages

Merci pour votre attention

[email protected]