Sommaire. 1. Définitions 2. Dérivations 3. Classification des grammaires 4. Représentations des grammaires hors contexte

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

Théorie des Langages

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

Initiation à la programmation en Python

Note de cours. Introduction à Excel 2007

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.

Les chaînes de caractères

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Limites finies en un point

Structures algébriques

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Représentation d un entier en base b

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

chapitre 4 Nombres de Catalan

Développements limités. Notion de développement limité

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

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

STAGE IREM 0- Premiers pas en Python

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

5 ème Chapitre 4 Triangles

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

UTILISER UN SITE COLLABORATIF

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.

Correction des Travaux Pratiques Organiser son espace de travail

Continuité et dérivabilité d une fonction

LE PRODUIT SCALAIRE ( En première S )

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

6. Les différents types de démonstrations

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

PROBLEME(12) Première partie : Peinture des murs et du plafond.

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Corrigé du baccalauréat S Asie 21 juin 2010

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

CORRECTION EXERCICES ALGORITHME 1

COURS BARDON - EXCEL 2010

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

SOLUTIONS TECHNOLOGIQUES Fiche activité élève

Compilation. Algorithmes d'analyse syntaxique

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 =

VOS PREMIERS PAS AVEC TRACENPOCHE

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Algèbre binaire et Circuits logiques ( )

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Chapitre 2. Matrices

Logique. Plan du chapitre

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)

DOCM Solutions officielles = n 2 10.

Manuel d utilisation NETexcom

BANQUES DE DONNÉES PÉDAGOGIQUES

Calcul différentiel sur R n Première partie

Manuel Utilisateur Téléphone IP Thomson ST 2030

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Fonctions de deux variables. Mai 2011

@telier d'initiation

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Fonctions de plusieurs variables

Excel 2007 Niveau 3 Page 1

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

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

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

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

M é ca n ism e Pr o lo g. Ex e m p le

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

Le modèle standard, SPE (1/8)

Un exemple avec WORKSPACE d'interwrite

1 Première section: La construction générale

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

Algorithme. Table des matières


Cours d algorithmique pour la classe de 2nde

Chapitre 1 Qu est-ce qu une expression régulière?

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Du Premier au Second Degré

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

Correction de l examen de la première session

CHAPITRE IX : Les appareils de mesures électriques

Algorithmes d'apprentissage

Présentation du langage et premières fonctions

nos graphiques font leur rentrée!

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

LibreOffice Calc : introduction aux tableaux croisés dynamiques

2. CONSTRUIRE LE CONCEPT DE. la dialectique enseigner / apprendre

Dérivation : cours. Dérivation dans R

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

Cours Fonctions de deux variables

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

Aide : publication de décisions VS

Angles orientés et trigonométrie

Transcription:

Grammaires

Sommaire 1. Définitions 2. Dérivations 3. Classification des grammaires 4. Représentations des grammaires hors contexte 1. Notation BNF 2. Diagrammes de conway 3. Arbres de dérivation

1 définitions Une grammaire formelle, appelée aussi grammaire de Chomsky, G est une description de la forme des symboles et des phrases d'un langage noté L(G). Elle est définie par un quadruplet G = (V T, V N, S, R) où : V T est un ensemble fini non vide : le vocabulaire terminal ou alphabet ; L(G) V T * V N est un ensemble fini non vide : le vocabulaire non terminal (on parle aussi de variable ou de catégorie syntaxique) ; On a V T V N = et on note V=V T V N le vocabulaire de la grammaire ; S V N est un symbole non terminal particulier appelé l'axiome ; R est un ensemble de règles, appelées règles de production (ou règles de réécriture), de la forme α β avec α V + et β V*

Exemples G 0 =({0, 1}, {S, X}, S, R) avec R : R1 : S 0X1 R2 : 0X 00X1 R3 : X ε G 1 =({0, 1}, {S, X}, S, R) avec : R = {S 0X1 ; 0X 00X1 ; 0X 001} ou R = {S 0X1 ; 0X 00X1 001} (équivalent) G 2 =({0, 1}, {S}, S, R) avec : R = {S 0S1 01} G 3 =({0, 1}, {S, X}, S, R) avec : R = {S 0S OX ; X 1X 1}

Dérivations Soit G = (V T, V N, S, R) une grammaire. On appelle dérivation de longueur n (n N) toute suite s=u 0,...,u n de chaînes de V* telle que u 0 =G u 1 et... et u n 1 =G u n (ce que l'on abrège par u 0 =G... =G u n ) a =n b désigne une dérivation de longueur n. a =* b désigne une dérivation de longueur quelconque. Autrement dit, =* est la fermeture réflexive et transitive de =G. a =+ b désigne une dérivation de longueur supérieure à 1. Autrement dit, =+ est la fermeture transitive de =G. Si a =* b, on dit alors que a engendre b ou, symétriquement, que b dérive de a. Si de plus a =+ b, on dit "engendre" (resp. "dérive") "de façon non triviale".

Soit G = (V T, V N, S, R) une grammaire : Une chaîne a est une forme sententielle (protophrase) pour la grammaire G si et seulement si S =* a. Le langage engendré par G est l'ensemble des chaînes de symboles terminaux que l'on peut dériver à partir de l'axiome S : L(G)={x V T* S =+ x}. Deux grammaires G 1 et G 2 sont dites équivalentes si L(G 1 ) = L(G 2 ).

4. Classification des grammaires Type 0 : sans contraintes Les règles sont de la forme: a b avec a et b V*. Type 1 (contextuelle, context sensitive, sensible au contexte): a b avec a et b V* et a b. aab abb avec a, b V*, A V N et B V + tel que B 1 (c'est à dire que A peut être remplacé par B dans le contexte aab). l'axiome, s'il n'est pas en partie droite d'une autre règle que celle qui le définit, peut engendrer ε. Cette exception est aussi valable pour les types suivants

Type 2 : hors contexte (context free, algébrique) A a avec A V N et a V +. Type 3 : linéaires (régulières) [à] droite (resp. [à] gauche): uniquement : A x 1 x 2 B (resp. A x 1 Bx 2 ) avec A, B V N et x 1 V T+, x 2 V T *.

Exemples règles S 0S 1S ε est linéaire droite. G 0 et G 4 sont de type 0, G 1 est de type 1, G 2 est de type 2 et G 3 est de type 3.

4 3 Arbres de dérivation Tout mot du langage L(G) peut être obtenu après un ensemble de dérivation à partir de l axiome: S =+ a (a L(G) V T *). Une telle dérivation peut être aussi représentée par un arbre de dérivation (appelé aussi «arbre syntaxique» ou «arbre d analyse», exemple :Par exemple, en considérant les règles R1 : A BaC, R2 : B b et R3 : C c, à la dériva on A =R1 BaC =R2 bac =R3 bac correspond l'arbre suivant : la représentation des dérivations sous forme d'arbres ne mémorise pas l'ordre dans lequel les règles sont appliquées. Par exemple, l'arbre ci dessus correspond également à la dérivation A=R1 BaC =R3 Bac =R2 bac. Remarques: La racine de l arbre est l axiome. Les feuilles sont les symboles terminaux du mot. Une grammaire est dite ambigüe si au moins un mot de son langage a plus d un arbre de dérivation.

Exemple soit la grammaire G 6 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, *}, {S, A}, R}, avec R : S Ch Ch Ch + Ch Ch * Ch Ch 0 1 2 3 4 5 6 7 8 9 Par cette grammaire, nous pouvons obtenir pour le mot "3*1+5" les arbres de dérivation suivants :

5 représentation des grammaires 5.1 norme BNF Elle est particulièrement utile pour analyser un langage défini par une grammaire hors contexte Les symboles non terminaux sont encadrés par des guillemets ("..." ou <<...>>), les symboles terminaux ne sont pas distingués L'axiome est la partie gauche de la première règle énoncée. La disjonction est notée par une barre verticale ( ). La flèche des règles est remplacée par le signe "::=". Par exemple, le tableau suivant illustre la forme BNF pour les règles {S ba ; A aa ; A a}. S ::= "b"a "A" ::=" a"a a

5.2 les diagrammes de conway. Elle décrit graphiquement les grammaires hors contexte La partie gauche des règles est notée à gauche du schéma. Les symboles terminaux sont écrits dans des cercles et les symboles non terminaux sont écrits dans des rectangles.

Exercices et tests : Exercice 5.1. Pour chacune des grammaires suivantes : 1.Les écrire sous forme BNF 2.Donner les arbres de dérivation associés aux mots donnés à l'exercice 3.1. dans le cas où la grammaire est de type 2 ou 3. Les représenter à l'aide des diagrammes de Conway Gex1 = ({a,b,c}, {S}, S, {S asbsa c}) Gex2 = ({a,b,ch,d}, {S,A,B,C}, S, {S BCaCbbA ; A CaCbb ε ; Ca ba ; Cbb da ; B cha}) Gex3 = ({a,b}, {S,A}, S, {S Aa ba ; A Sa bs}) Exercice 5.2. Soit la grammaire ({0,1,2,3,4,5,6,7,8,9,;,-,+},{S,Exp,Ch}, S, R) définie par les règles suivantes : S Exp ; S Exp Exp Exp + Exp Exp - Exp Ch Ch 0 1 2 3 4 5 6 7 8 9 1.Ecrire ces règles sous forme BNF 2.Donner les diagrammes de Conway correspondants