Principes d Interprétation des Langages. L2 MPI Université Paris-Sud

Documents pareils
Théorie des Langages

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

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

Note de cours. Introduction à Excel 2007

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Présentation du langage et premières fonctions

Codage d information. Codage d information : -Définition-

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

TP 1. Prise en main du langage Python

Architecture des ordinateurs Introduction à l informatique

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

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)

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

Évaluation et implémentation des langages

Continuité et dérivabilité d une fonction

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Les chaînes de caractères

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Jeux de caracte res et encodage (par Michel Michaud 2014)

Initiation à la Programmation en Logique avec SISCtus Prolog

Microsoft Excel. Tableur

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Activités numériques [13 Points]

Algorithmique et Programmation, IMA

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.

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

Vecteurs. I Translation. 1. Définition :

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

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

INFORMATIONS DIVERSES

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

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Microsoft Excel Présentation du tableur Excel

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

PROJET ALGORITHMIQUE ET PROGRAMMATION II

CORRECTION EXERCICES ALGORITHME 1

TP1 - Prise en main de l environnement Unix.

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

Université Ibn Zohr Excel Résume de cours

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

Salle de technologie

STAGE IREM 0- Premiers pas en Python

Remise à niveau d un programme JAVA du domaine public

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Algèbre binaire et Circuits logiques ( )

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

Limites finies en un point

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Les BRMS Business Rules Management System. Groupe GENITECH

Chapitre 1 I:\ Soyez courageux!

N.B : L explorateur vivement conseillé pour utiliser le service d inscription est Firefox. Accessible à :

Modalités d inscription, de progression et de validation en licence et master : de l UFR ALLSH

Initiation à la programmation en Python

Les Angles. I) Angles complémentaires, angles supplémentaires. 1) Angles complémentaires. 2 Angles supplémentaires. a) Définition.

Représentation géométrique d un nombre complexe

Excel 2007 Niveau 3 Page 1

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

chapitre 4 Nombres de Catalan

6. Les différents types de démonstrations

Logiciel de Base. I. Représentation des nombres

Structures algébriques

1S Modèles de rédaction Enoncés

Dérivation : Résumé de cours et méthodes

Utilisation des tableaux sémantiques dans les logiques de description

Algorithmique et Programmation Fonctionnelle

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Feuille couverture de tâche du cadre du CLAO

LES TYPES DE DONNÉES DU LANGAGE PASCAL

1 Introduction au codage

ARBRES BINAIRES DE RECHERCHE

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

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Maple: premiers calculs et premières applications

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.

Représentation d un entier en base b

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

ELEMENTS DE BUREAUTIQUE

Perfectionnement Excel 2007

UTILISER UN SITE COLLABORATIF

Cours d Informatique

La mémoire. Un ordinateur. L'octet. Le bit

Algorithme. Table des matières

Débuter avec Excel. Excel

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

par Denis-Charles Cisinski & Georges Maltsiniotis

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

NOTICE TELESERVICES : Créer mon compte personnel

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

Grammaires d unification

Internet. e-commerce

Bases de données Cours 5 : Base de données déductives

MATHEMATIQUES GRANDEURS ET MESURES

Unix/Linux I. 1 ere année DUT. Université marne la vallée

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Cours d initiation à la programmation en C++ Johann Cuenin

Etude d Algorithmes Parallèles de Data Mining

UNIVERSITE LA SAGESSE FACULTÉ DE GESTION ET DE FINANCE MBA OPTION MIS. MIAGe METHODES INFORMATIQUES APPLIQUEES A LA GESTION

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Transcription:

Principes d Interprétation des Langages L2 MPI Université Paris-Sud

CHAPITRE 5 : GRAMMAIRES FORMELLES

Lien avec les chapitres précédents Nous avons vu deux formalismes pour définir et manipuler des langages formels : expressions rationnelles et automates finis. Ces deux formalismes sont équivalents (au sens qu ils définissent la même classe de langages) ne permettent de définir qu une classe restreinte de langages. Les grammaires formelles permettent de définir des classes de langages plus générales. Elles permettent aussi de mettre en œuvre la deuxième étape de la compilation : l analyse syntaxique.

Système de réécriture Soit A un alphabet. On appelle système de réécriture sur A* toute partie de A* A*. Soit R un système de réécriture sur A*, soient f et g deux mots de A*. On dit que f se réécrit en g ssi il existe (u,v) R, α A*, β A* tels que f= αuβ et g= αvβ On note f R g (ou simplement f g s il n y a pas d ambiguïté sur R).

Exemple R = { (a,ab), (b,ba), (ab,bb), (abb,ε) } On a : aab abab abbb b ba bab

Grammaire Une grammaire est un quadruplet G=<A,V,P,S>, où A est l alphabet terminal. V A=. V est l alphabet non terminal. P est un système de réécriture sur (A V)* tel que chaque membre gauche contient au moins une lettre de V. C est l ensemble des règles (ou productions) de G. S V. C est l axiome de G.

Quelques définitions Soient f et g deux mots de (A V)*. On dit que f se dérive en g si f P g. Une suite de dérivations est une suite de mots f 0,f 1,,f n tels que f 0 f 1 f n n est la longueur de la suite de dérivations. On note f * g s il existe une suite de dérivations de f à g. Remarque : pour tout mot f, on a f * f.

Exemple de grammaire G 1 Notation conforme à la définition : A = {a,b} V = {S,T} P = {(S,aS) ; (S,bT) ; (S, ) ; (T,bS) ; } Axiome : S Notation usuelle : S as bt T bs

Conventions de notation Les symboles terminaux sont en minuscules, les symboles non terminaux en majuscules. Le premier symbole non terminal rencontré est l axiome. Le sépare les productions ayant le même membre gauche. S as bt T bs

Exemples de grammaires G 2 et G 3 G 2 : S asb T T ct G 3 : S asbc abc CB CD CD BD BD BC ab ab bb bb bc bc cc cc

Langage engendré par une grammaire Le langage engendré par une grammaire G=<A,V,P,S>, noté L(G), est l ensemble des mots w A* tels que S * w. Exemples (sans preuves) : L(G1) = (a bb)* L(G2) = { a n c m b n n,m 0} L(G3) = { a n b n c n n > 0 }

La hiérarchie de Chomsky : généralités Elle définit quatre types de grammaires selon des contraintes que l on impose (ou pas) sur la forme des règles. Chaque type de grammaires correspond à une classe de langages. C est une hiérarchie car il y a une relation d inclusion stricte entre les quatre classes.

La hiérarchie de Chomsky (1) Grammaires générales (type 0) : aucune restriction sur les règles de P.

La hiérarchie de Chomsky (2) Grammaires contextuelles (type 1) : toute règle de P est de la forme suivante : u N v u w v où N V, u,v,w (A V)*. Grammaires non contextuelles ou algébriques (type 2) : toute règle de P est de la forme suivante : N w où N V, w (A V)*.

La hiérarchie de Chomsky (3) Grammaires régulières (type 3) : Soit toute règle de P est dans l une des formes suivantes (grammaire régulière droite) : N x N N x où N V, x A { }. Soit toute règle de P est dans l une des formes suivantes (grammaire régulière gauche) : N N x N x où N V, x A { }.

Langages de type 0, 1, 2 ou 3 On dit qu un langage est de type i s il existe une grammaire de type i qui l engendre. Propriété : si un langage est de type i, il est aussi de type j pour tout j i. Propriété : la classe des langages de type 3 est la classe des langages reconnaissables.

La hiérarchie Langages rationnels Langages non contextuels (ou algébriques) Langages contextuels Langages généraux

La hiérarchie est stricte L inclusion entre les classes est stricte. Notamment : {a n b n n 0} est algébrique mais pas rationnel {a n b n c n n 0} est contextuel mais pas algébrique. (Ce ne sera pas prouvé en cours.)

CHAPITRE 6 : LES LANGAGES NON CONTEXTUELS OU ALGÉBRIQUES

Définition (rappel) Grammaires non contextuelles ou algébriques (type 2) : toute règle de P est de la forme suivante : N w où N V, w (A V)*. Un langage est non contextuel ou algébrique s il existe une telle grammaire qui l engendre.

Arbre de dérivation Soit G=<A,V,P,S> une grammaire non contextuelle. On appelle arbre de dérivation sur G tout arbre étiqueté sur A V { } tel que : 1. Si un nœud étiqueté x a ses fils étiquetés (dans cet ordre) y 1, y 2, y k, alors x y 1 y 2...y k est une règle de P. 2. Un nœud ne peut être étiqueté par que s il est fils unique.

Arbre et mot reconnu Propriété : Soit G une grammaire non contextuelle. Un mot w appartient à L(G) si et seulement si il existe un arbre de dérivation de G dont la racine est l axiome et dont les feuilles sont étiquetées (dans l ordre d un parcours de gauche à droite et sans considérer les étiquettes ) par la suite des lettres de w.

Grammaire ambiguë Une grammaire non contextuelle G est dite ambiguë ssi il existe un mot de L(G) qui peut être obtenu par au moins deux arbres de dérivation à partir de l axiome.