NF93 Grammaires formelles Chabot Simon 20 avril 2011 1 Dénition d'une grammaire et d'un langage Dénition 1.1 (Grammaire formelle). Une grammaire formelle G est un ensemble constitué de quatre objets : Un ensemble ni Σ de symboles terminaux, conventionnellement notés en minuscules. Ce sont les lettres du langage. Un ensemble ni V de symboles non-terminaux, conventionnellement notés en majuscules. Ce sont les variables 1 . Un élément S ∈ V , appelé axiomes. Un ensemble P des règles de production. De la forme α → β , avec α ∈ (V ∪ Σ)∗ Σ (V ∪ Σ)∗ , α 6= ε, β ∈ (V ∪ Σ)∗ On note G = (Σ, V, S, P ). Dénition 1.2 (Puissance d'un alphabet). Σk est dénie par : ( Σ0 Σk La k e puissance d'un alphabet Σ, noté = {ε} = Σk−1 × Σ Σ∗ est l'ensemble de tous les mots que l'on peut former à partir de Σ. On dénit Σ+ = Σ∗ \{ε}. Dénition 1.3 ensemble de Σ . ∗ (Langage). On appelle langage déni sur un alphabet Σ, un sous Dénition 1.4 (Puissance d'un langage). La k e puissance d'un langage L, noté L est dénie par : ( L0 = {ε} Lk = Lk−1 × L k 1. On a Σ∩V =∅ 1 CC-by-sa Exemple 1.1. Si L = {ab, cd}, alors L0 = {ε}, et L1 = L, L2 = {abab, abcd, cdabc, cdcd}. L∗ est l'ensemble de tous les mots que l'on peut obtenir en concaténant un nombre quelconque de mots de L. On déni L+ = L∗ \{ε}. Dénition 1.5 (Dérivation). Une dérivation est l'application d'une des règles de P . On note α ⇒ β . La clôture transitive de ⇒ sur P est noté ⇒+ La clôture transitive et réexive de ⇒ sur P est noté ⇒∗ Dénition 1.6 (Langage engendré par une grammaire). Le langage L(G) engendré par la grammaire G est déni par L(G) = {u ∈ Σ∗ |S ⇒∗ u} Dénition 1.7 (Arbre de dérivation). que : On appelle arbre de dérivation un arbre tel La racine est l'axiome Les feuilles sont des symboles terminaux, ou ε. Les n÷uds sont des symboles non-terminaux, Les ls d'un n÷ud α sont β0 , . . . , βn ssi α ⇒ β0 . . . βn est une production. Dénition 1.8 (Grammaire ambigüe). On dit qu'une grammaire est ambigüe s'il existe u ∈ L(G) tel que u est au moins deux arbres de dérivation distincts. 2 Hiérarchie de Chomsky Type 0 Type 1 Aucune restriction Grammaire contextuelle, c'est à dire que le règles de production sont du type : αAβ → αγβ avec A ∈ V, α, β, γ ∈ (V ∪ Σ)∗ , γ 6= ε. Type 2 Grammaire hors-contextuelle ou algébrique, c'est à dire que les règles de production sont du type : X→α avec α ∈ (V ∪ Σ)∗ , X ∈ V . 2 CC-by-sa Type 3 Grammaires : régulière à gauche, ou X →Ya X→a avec X, Y ∈ V et a ∈ Σ. régulière à droite, ou X → aY X→a avec X, Y ∈ V et a ∈ Σ. Dénition 2.1 (Type d'un langage). On dit qu'un langage est de type n s'il existe une grammaire de type n qui puisse l'engendrer et qu'il n'existe pas de grammaire de type m, m > n qui le puisse. 3 CC-by-sa Index A Ambigüité. . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Arbre de dérivation . . . . . . . . . . . . . . . . . . 2 C Chomsky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 D Dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 G Grammaire formelle . . . . . . . . . . . . . . . . . . 1 L Langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 P Puissance d'un alphabet . . . . . . . . . . . . . . . . . . . . 1 d'un langage . . . . . . . . . . . . . . . . . . . . . 1 T Type d'un langage . . . . . . . . . . . . . . . . . . . . . 3 d'une grammaire . . . . . . . . . . . . . . . . . 2 4 CC-by-sa