1 / 17

Notions de base de la théorie des langages

Notions de base de la théorie des langages. Elaboré par : Habiba Bouzidi. Objectifs du cours. 2. Plan du cours. 3. Définitions Alphabet Mot Langage Système générateur (Grammaire) Système reconnaisseur (Automate) Types des langages Langage algébrique (Type2) Récapitulatif.

kaelem
Download Presentation

Notions de base de la théorie des langages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Notions de base de la théorie des langages Elaboré par : Habiba Bouzidi

  2. Objectifs du cours 2

  3. Plan du cours 3 • Définitions • Alphabet • Mot • Langage • Système générateur (Grammaire) • Système reconnaisseur (Automate) • Types des langages • Langage algébrique (Type2) • Récapitulatif

  4. Références 4 • 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

  5. DéfinitionsGrammaire Automate Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 5 • 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).

  6. DéfinitionsGrammaire Automates Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 6 • 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 d’une manière formelle pour faciliter son traitement par un ordinateur?

  7. DéfinitionsGrammaire Automates Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 7 • 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éfinition 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 règles de la forme A → B, A ≠ ε, où A et B Є (VN ∪ VT)* Une règle α → β :α peut être réécrit en β permet de réécrire des mots surVN∪VT Exemple : α β α ω2 ω1 β ω2 ω1 G

  8. DéfinitionsGrammaire Automates Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 8 • Exemple G=({a}, {S,S1}, S, P) VT : {a} VN : {S,S1} P : (SaS1, S1aS1 , S1 ε) • Notation • Etant donné une grammaire G, le langage L(G) est défini par :L(G) = { m ∈ X* | S ⇒G* m} L(G)={an/ n ≥1} 1). G = 2). G = <S>::a<S1> <S1>::a<S1>| ε SaS1 S1aS1| ε

  9. Définitions Grammaire Automates Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 9 • Un automate permet de caractériser un langage (les mots acceptés). • Définition Un 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 VTQ q0 : Etat initial Un mot m Automate G Oui : si m ∈ L(G) Non :sinon

  10. Définitions Grammaire Automates Types des langages Langage algébrique • ● ● ● ● ● ● ● ● ● ● ● 10 • 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 VTQ (q0,a) q1 (q1,b)q2 (q1,c)q1 a b q1 q0 q2 c

  11. Définitions Grammaire Automates TypesdeslangagesLangage algébrique • ● ● ● ● ● ● ● ● ● ● ● 11 Exemple 3: Soit L={an bncn/n≥0} G= Exemple 2: Soit L={an bn/n≥1} G= • 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ébrique Toutes 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 Exemple 1: pour un langage L={a*} G= Sε SaRbc|abc RaRTb R aTb TbbT Tccc SaSb|ab SSa Sε SaS Sε ou

  12. Définitions Grammaire Automates TypesdeslangagesLangage algébrique • ● ● ● ● ● ● ● ● ● ● ● 12 • Hiérarchie de Chomsky Type 0 Type1 Type 2 Type3

  13. Définitions Grammaire Automates Types des langages Langagealgébrique • ● ● ● ● ● ● ● ● ● ● ● 13 • 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 : AaB|aC  Exemple: soit G= E →E+E | E*E G’= A → aD D → B |C E →E E’ E’ →+E|*E

  14. Définitions Grammaire Automates Types des langages Langagealgébrique • ● ● ● ● ● ● ● ● ● ● ● 14 • 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é S → aS’ S’ →aS’| ε A → α A’ A’ → β A’ | ε

  15. Définitions Grammaire Automates Types des langages Langagealgébrique • ● ● ● ● ● ● ● ● ● ● ● 15 • Soit un alphabet X={a,b}, • écrire la grammaire du langage formé sur X et constitué des palindromes. • Quel est le type de cette grammaire ? • Donner un exemple de dérivation d’un mot. Solution: 1. S → a S a S → b S b S → a S → b S → ε 2. Cette grammaire est de Type 2 car S Є VN , a S a Є (VN U VT ) * (α Є VN et β Є (VN U VT ) * ) 3. SaSaabSbaabaSabaabaεaba Le mot est abaaba

  16. Récapitulatif 16 • La théorie des langages = Comprendre le fonctionnement des langages. • Un langage = Ensemble de mots • Unmot (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 : lescompilateurs…

  17. Merci pour votre attention bouzidi.habiba@yahoo.fr

More Related