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

Theorie Des Langages

Apr 18, 2015

Download

Documents

darakt

doc sur la théorie des langages
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]