La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Institut supérieur de gestion Avril 2010 Notions de base de la théorie des langages Elaboré par : Habiba Bouzidi."— Transcription de la présentation:

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

2 Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010 Objectifs du cours 1 Connaître les concepts issus de la théorie des langages. 2 Générer des mots dun langage précis. 3 Reconnaître lappartenance dun mot à un langage. 2

3 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

4 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, Editions-des-noisettes-et-des-sentiers/noisettes.htmlhttp://perso.univ-rennes1.fr/daniel.herman/ Editions-des-noisettes-et-des-sentiers/noisettes.html 4

5 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 * : Lensemble des mots formés à 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 * /{ε} :E nsemble de tous les mots, sauf le mot vide a n : Le mot composé de n occurrences de a (a 0 est le mot vide). Définitions Grammaire Automate Types des langages Langage algébrique 5 Vocabulaire {a, b} { il, ballon,,joue, au, je} {if, then, else, C, X,=,0} Mots aab, bba, ababa je joue ballon, il joue if C then X=0, C if else

6 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 mots Exemple: X={a,b} L1:{aa, abba, bba }: langage fini L2 = = {ab, aaaab, a…….b}: langage infini Comment décrire un langage dune manière formelle pour faciliter son traitement par un ordinateur? Définitions Grammaire Automates Types des langages Langage algébrique 6

7 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 lutilisation dun mécanisme génératif capable de produire tous les mots dun langage donné. Définition Une grammaire est un quadruplet G = (V T, V N, S, P) où: V T : vocabulaire terminal qui est le vocabulaire du langage V N : vocabulaire non-terminal, (V N V T = ) S : axiome: Є V N P : un ensemble de règles de la forme A B, A ε, où A et B Є (V N V T )* Une règle α β : α peut être réécrit en β permet de réécrire des mots sur V N V T Exemple : Définitions Grammaire Automates Types des langages Langage algébrique 7 αβ ω2ω2 β ω1ω2ω2 α G

8 Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010 Exemple G=({a}, {S,S 1 }, S, P) VT : {a} VN : {S,S 1 } P : (S aS 1, S 1 aS 1, S 1 ε) 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)={a n / n 1} S aS 1 S 1 aS 1 | ε 1). G = ::a ::a | ε 2). G =

9 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éfinition Un automate à état fini est le cinquplet A = (Q, V T, δ, q 0, F) avec Q: Ensemble fini détats F : Ensemble des états finaux δ : Fonction de transition, δ: Q X V T Q 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

10 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 = ({q 0,q 1,q 2 }, {a,b,c}, δ, q 0, {q 2 }) δ: Q X V T Q (q 0,a) q 1 (q 1,b) q 2 (q1,c) q 1 Définitions Grammaire Automates Types des langages Langage algébrique 10 q1 q2 q0 a b c

11 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 Є V T ; α et β Є V N Type 2: Langage algébrique Toutes les règles sont sous la forme: α β avec α Є V N ; et β Є (V N U V T ) * Type 1:langage à contexte lié Toutes les règles sont sous la forme: α β avec α Є (V N U V T ) +, β Є (V N U V T ) * 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= S aS S ε S Sa S ε ou Exemple 3: Soit L={a n b n c n /n 0} G= S ε S aRbc|abc R aRTb R aTb Tb bT Tc cc Exemple 2: Soit L={a n b n /n 1} G= S aSb|ab

12 Habiba Bouzidi Notions de base de la théorie des langages ISG Tunis - Avril 2010 * Langage naturel * | α | | β | * {a n b n c n /n1} * A β * {a n b n /n0}, Langages de programmation * Automate à pile * A a ou A aB * {Ac*b}, langage de commandes * Automate à états finis Type 0 Type 1 Type 2 Type 3 Définitions Grammaire Automates Types des langages Langage algébrique Hiérarchie de Chomsky 12

13 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 sil dispose de plus quune 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 : A aB|aC Exemple: soit G= E E+E | E*E G= Définitions Grammaire Automates Types des langages Langage algébrique 13 A aD D B |C E E E E +E|*E

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

15 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 dun mot. Solution: 1. S a S b S a S b S ε 2. Cette grammaire est de Type 2 car S Є V N, a S a Є (V N U V T ) * (α Є V N et β Є (V N U V T ) * ) 3. S aSa abSba abaSaba abaεaba Le mot est abaaba

16 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 dapplication : les compilateurs… 16

17 Merci pour votre attention


Télécharger ppt "Institut supérieur de gestion Avril 2010 Notions de base de la théorie des langages Elaboré par : Habiba Bouzidi."

Présentations similaires


Annonces Google