Langages hors-contexte

Documents pareils
Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

CH.6 Propriétés des langages non contextuels

Exercices - Polynômes : corrigé. Opérations sur les polynômes

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Réalisabilité et extraction de programmes

Théorie des Langages

Fondements de l informatique Logique, modèles, et calculs

Rappels sur les suites - Algorithme

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Continuité et dérivabilité d une fonction

Cours de Master Recherche

Logique. Plan du chapitre

Approximations variationelles des EDP Notes du Cours de M2

DOCM Solutions officielles = n 2 10.

Algorithmique et Programmation Fonctionnelle

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

= constante et cette constante est a.

C f tracée ci- contre est la représentation graphique d une

Initiation à l algorithmique

Résolution d équations non linéaires

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Algorithmes récursifs

Géométrie dans l espace Produit scalaire et équations

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Compilation. Algorithmes d'analyse syntaxique

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Pour l épreuve d algèbre, les calculatrices sont interdites.

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Algorithmique et Programmation, IMA

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

ARBRES BINAIRES DE RECHERCHE

Les structures de données. Rajae El Ouazzani

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Théorie des graphes et optimisation dans les graphes

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

Continuité en un point

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Grammaires d unification

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Corrigé des TD 1 à 5

Probabilités sur un univers fini

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

INFORMATIONS DIVERSES

Une forme générale de la conjecture abc

Bases de programmation. Cours 5. Structurer les données

FONDEMENTS DES MATHÉMATIQUES

Cours d Analyse. Fonctions de plusieurs variables

Probabilités sur un univers fini

Le chiffre est le signe, le nombre est la valeur.

Université Paris-Dauphine DUMI2E 1ère année, Applications

Note de cours. Introduction à Excel 2007

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Introduction à la théorie des graphes. Solutions des exercices

Image d un intervalle par une fonction continue

1 Définition et premières propriétés des congruences

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Chapitre 7. Récurrences

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours Informatique Master STEP

UML (Paquetage) Unified Modeling Language

Maple: premiers calculs et premières applications

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

CORRECTION EXERCICES ALGORITHME 1

Raisonnement par récurrence Suites numériques

Le théorème de Thalès et sa réciproque

Utilisation des tableaux sémantiques dans les logiques de description

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

6. Les différents types de démonstrations

Algorithmique, Structures de données et langage C

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Introduction à l étude des Corps Finis

Extrait du poly de Stage de Grésillon 1, août 2010

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Programmation linéaire

Polynômes à plusieurs variables. Résultant

Taux d évolution moyen.

Comparaison de fonctions Développements limités. Chapitre 10

Cours d Informatique


108y= 1 où x et y sont des entiers

Complément d information concernant la fiche de concordance

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Quelques tests de primalité

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Résolution de systèmes linéaires par des méthodes directes

Calcul intégral élémentaire en plusieurs variables

Transcription:

Langages hors-contexte Au-delà des langages réguliers Les langages hors-contexte (angl. Context-Free Languages, CFL) ont de nomreuses applications dans l étude des langages naturels, en compilation (syntaxe de langages de programmation), analyse de programmes, etc. Exemples Langages des parenthèses, des expressions arithmétiques, des palindromes, {a n n n 0},.... Grammaires hors-contexte Une grammaire hors-contexte (CGF) G = V, Σ, R, consiste d un ensemle (fini) V de symoles non-terminaux (ou variales), d un alphaet (fini) Σ de symoles terminaux, d un ensemle de règles R V (V Σ) et d une variale initiale (axiome) V. 1/13

Langages hors-contexte Exemple <phrase> <GN><GV> <GN> <nom-complexe> <nom-complexe><cdn> <nom-complexe> <article><nom> <CdN> <adjectif>... <GV> <vere><gn> <article> le la mon ma... <nom> fille garçon danse <adjectif> aîné(e)... <vere> aime... Dérivation L application d une règle A v de R au mot uaw (V Σ) produit le mot uvw (on note uaw uvw). On écrit u = v si l on peut dériver le mot u du mot v, c-a-d. si on a soit u = v, ou s il existent u 1,..., u n (V Σ) tels que u u 1 u n v. Le langage engendré par G est défini par L(G) = {w Σ = w}. 2/13

Exemple (dérivation) Langages hors-contexte <phrase> <GN><GV> <nom-complexe><cdn><gv> <article><nom><cdn><gv> ma <nom><cdn><gv> ma fille<cdn><gv> ma fille<adjectif><gv> ma fille aîné(e)<gv> = ma fille aîné(e) aime la danse Dérivation gauche Une dérivation gauche est une dérivation où on remplace toujours la variale la plus à gauche (si possile), voir exemple. Un arre de dérivation pour un mot w Σ à partir d une variale B V est un arre ordonné étiqueté, dont les nœuds internes sont étiquetés par des variales dans V, et les feuilles par des terminaux (dans Σ) ou ɛ ; pour tout nœud v étiqueté par A V, si A 1,..., A n V Σ sont les étiquettes des enfants v1,..., vn de v, alors A A 1 A n est une règle de G. La racine est étiquetée par B, et w est la frontière de l arre. 3/13

Exemples - grammaires Une CFG qui engendre des expressions arithmétiques utilisant +, et les variales a,, c (langage non-régulier!) : E E + T T T T F F F (E) a c Une CFG qui engendre le langage {a n n n 0} : a ɛ Une CFG qui engendre les palindromes sur {a, } : aa ɛ Définition Un langage de mots s appelle hors-contexte (angl. context-free language, CFL), s il est engendré par une grammaire hors-contexte. 4/13

Exemples - arres de dérivation E E T + T F a a F ( E ) a F ɛ T * F F c 5/13

REG CFL oit L Σ accepté par un NFA A = Q, Σ, δ, q 0, F. Alors L est engendré par la CFG G = Q, Σ, R, q 0, où R contient toutes les règles de la forme p aq si q δ(p, a), ainsi que q ɛ si q F. Amiguïté Une CFG G telle qu il existe un mot dans L(G) qui possède au moins 2 arres de dérivation à partir de l axiome, s appelle amiguë. Un langage hors-contexte L est amigu, si toute CFG qui l engendre est amiguë. Exemple La CFG G = {E}, {a,, c}, R, E où R contient les règles E E + E E E (E) a c est amiguë. Le langage des expressions arithmétiques ne l est pas (la CFG page 4 est non-amiguë). 6/13

Chomsky Une CFG est en forme normale de Chomsky si les toutes les règles ont la forme A BC ou A a, avec A, B, C des variales et a un symole terminal. On permet aussi la règle ɛ. Proposition Toute CFG G peut être transformée en une CFG G équivalente (c-a-d., t.q. L(G) = L(G )) en forme normale de Chomsky. Proposition Etant donnée une CFG G en forme normale de Chomsky et un mot w Σ, on peut décider en temps polynomial en w et G, si w L(G) (algorithme CYK : Cocke/Younger/Kasami). 7/13

Clôture Opérations de clôture La famille des langages hors-contexte est fermée par les opérations rationnelles (union, produit, itération) et par intersection avec les réguliers. Elle n est pas fermée ni par complémentaire, ni par intersection. Lemme de l étoile pour les CFL oit L Σ un langage hors-contexte. Alors il existe un entier N > 0 tel que pour tout mot z L de longueur supérieure à N, il existe une décomposition z = uvwxy avec les propriétés suivantes : 1 vwx N. 2 vx ɛ. 3 Pour tout k 0, le mot uv k wx k y appartient à L. 8/13

Exemple a a u = a, v = = x, w = #, y = a # 9/13

Applications 1 Pour toute CFG G il existe un entier N > 0 (qui dépend de G) t.q. L(G) est infini ssi il existe un mot w L(G) de longueur w > N. 2 Le lemme de l étoile permet de démontrer qu un langage n est pas hors-contexte. L n est pas CFL si : Quelque soit N > 0 il existe z N L(G) de longueur supérieure à N t.q. quelque soit la décomposition z N = uvwxy satisfaisant vwx N et vx non-vide, il existe k 0 t.q. uv k wx k y / L. Exemple 1 : {a n n c n n 0} n est pas CFL. Par contre, L 1 = {a n n c m m, n 0} et L 2 = {a n m c n m, n 0} sont CFL - donc L 1 L 2 ne l est pas. Exemple 2 : L = {w#w w {a, } } n est pas CFL. Par contre L co est CFL (pas immédiat à voir...). 10/13

Définition Un automate à pile A est un automate fini, auquel on rajoute une mémoire sous forme de pile. Formellement, A = Q, Σ, Γ, δ, q 0, F, Z, où Q est l ensemle (fini) d états, Σ l alphaet de l entrée, Γ l alphaet de la pile, δ Q (Σ {ɛ}) Γ Q Γ la relation de transition, q 0 Q l état initial, F Q l ensemle des états finaux et Z Γ le fond de la pile. Une transition (p, a, A, q, v) lit le symole actuel a Σ (ou rien si a = ɛ), et remplace le sommet A Γ de la pile par le mot v Γ. L état change de p à q. Une configuration (état généralisé) de A est un couple (p, w) Q Γ consistant de l état de contrôle p et le mot de pile w Γ (le sommet étant le premier symole de w). Une transition de A par (p, a, A, q, v) correspond donc au passage d une configuration (p, Aw) à la a configuration (q, vw), en lisant a Σ {ɛ} : (p, Aw) (q, vw). u On écrit (p, w) = (p, w ) s il existe une suite de transitions (p, w) a 0 (p 1, w 1 ) a 1 an 1 (p n, w n ) an (p, w ) telle que u = a 0 a n. La configuration initiale est (q 0, Z). Le langage accepté par A est L(A) = {u Σ u (q 0, Z) = (q, w), q F, w Γ }. 11/13

Remarques On peut définir le langage accepté par un automate à pile aussi par pile u vide (avec ou sans état final) : on demande (q 0, Z) = (q, ɛ) dans L(A). Ces variantes sont toutes équivalentes. Les automates à pile déterministes sont plus failes. Pour eux, l acceptation par état final ou par pile vide ne sont pas équivalentes. Exemples a/z, A /A, ɛ a/x, AX a/a, ɛ /A, ɛ start 0 1 ɛ/x, X ɛ/z,ɛ start 0 1 f a/a, AA /X, BX /B, ɛ Le premier automate reconnaît {a m n m n 0}, le deuxième reconnaît les palindromes de longueur paire (X {A, B, Z}). 12/13

CFG, automates et arres Théorème Pour tout langage hors-contexte il existe un automate à pile (à un état) qui le reconnaît (avec pile vide). Réciproquement, les langages reconnus par les automates à pile sont des langages hors-contexte. Proposition 1 oit G une CFG. L ensemle des arres de dérivation de G est reconnaissale. 2 oit L un langage reconnaissale d arres. L ensemle des frontières des arres de L est un langage hors-contexte. 13/13