Théorie des langages (Introduction/Rappels) AlexisNasr CarlosRamisch ManonScholivet Compilation–L3Informatique DépartementInformatiqueetInteractions AixMarseilleUniversité 1/76 Langages Grammaires Arbresdedérivation Typesdegrammaires Reconnaisseurs Généralités Automatesfinis Automatesàpile MachinesdeTuring 2/76 Langages Grammaires Arbresdedérivation Typesdegrammaires Reconnaisseurs Généralités Automatesfinis Automatesàpile MachinesdeTuring 3/76 Le paysage syntaxique Lessymbolessontdesélémentsindivisiblesquivontservirde briquesdebasepourconstruiredesmots. Unalphabetestunensemblefinidesymboles.Ondésigne conventionnellementunalphabetparlalettregrecqueΣ. Unesuitedesymboles,appartenantàunalphabetΣ,misboutà boutestappeléunmot(ouunechaîne)surΣ.Lemotdelongueur zéroestnotéε. Onnote|m|lalongueurdumotm(lenombredesymbolesquile composent)et|m| lenombredesymbolessquepossèdelemot s m. L’ensembledetouslesmotsquel’onpeutconstruiresurun alphabetΣestnotéΣ∗. UnlangagesurunalphabetΣestunensembledemotsconstruits surΣ.ToutlangagedéfinisurΣestdoncunepartiedeΣ∗. 4/76 Exemples de langages Σ = {a} L = {ε,a,aa,aaa,...} 1 Σ = {a,b} L = {ε,ab,aabb,aaabbb,aaaabbbb,...} 2 Σ = {a,b} L = {ε,aa,bb,aaaa,abba,baab,bbbb,...} 3 Σ = {a,b,c} L = {ε,abc,aabbcc,aaabbbccc,...} 4 5/76 Opérations sur les langages Union L ∪L {x | x ∈ L oux ∈ L } 1 2 1 2 Intersection L ∩L {x | x ∈ L etx ∈ L } 1 2 1 2 Différence L −L {x | x ∈ L etx ∈/ L } 1 2 1 2 Complément L¯ {x ∈ Σ∗ | x ∈/ L} Concaténation L L {xy | x ∈ L ety ∈ L } 1 2 1 2 n (cid:122) (cid:125)(cid:124) (cid:123) Autoconcaténation L...L Ln FermeturedeKleene L∗ (cid:83) Lk k≥0 6/76 Comment décrire un langage? Énumération L = {ε,ab,aabb,aaabbb,aaaabbbb,...} 2 Descriptionlittéraire Ensembledesmotsconstruitssurl’alphabet{a,b},commençantpar desaetseterminantpardesbettelquelenombredeaetlenombrede bsoitégal Grammairederéécriture G = (cid:104){S},{a,b},{S → aSb | ε},S(cid:105) 7/76 Langages Grammaires Arbresdedérivation Typesdegrammaires Reconnaisseurs Généralités Automatesfinis Automatesàpile MachinesdeTuring 8/76 Grammaires de réécriture Unegrammairederéécritureestun4-uplet(cid:104)N,Σ,P,S(cid:105)où: Nestunensembledesymbolesnonterminaux,appelé l’alphabetnon-terminal. Σestunensembledesymbolesterminaux,appelél’alphabet terminal,telqueNetΣsoientdisjoints. Pestunsousensemblefinide: (N∪Σ)∗N(N∪Σ)∗×(N∪Σ)∗ unélément(α,β)deP,quel’onnoteα → βestappeléunerègle deproductionourèglederéécriture. αestappelépartiegauchedelarègle βestappelépartiedroitedelarègle SestunélémentdeNappelél’axiomedelagrammaire. 9/76 Notation Pourallégerlesnotations,onnote: α → β | β | ... | β 1 2 n lesnrègles: α → β , α → β ,..., α → β 1 2 n 10/76
Description: