GRAMMAIRES ALGÉBRIQUES

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

Bougez, protégez votre liberté!

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

chapitre 4 Nombres de Catalan

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

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

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

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

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

CHAPITRE VIII : Les circuits avec résistances ohmiques

Théorie des Langages

Continuité et dérivabilité d une fonction

Rappels sur les suites - Algorithme

Note de cours. Introduction à Excel 2007

Seconde et première Exercices de révision sur les probabilités Corrigé

Représentation d un entier en base b

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

CHAPITRE VI ALEAS. 6.1.Généralités.

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.

SOMMAIRE. Travailler avec les requêtes... 3

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

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

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

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

Cours d Analyse. Fonctions de plusieurs variables

Exercices Corrigés Premières notions sur les espaces vectoriels

Introduction à l étude des Corps Finis

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

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

Initiation à la programmation en Python

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

Compilation. Algorithmes d'analyse syntaxique

Création d un formulaire de contact Procédure

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

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

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

Optimisation des fonctions de plusieurs variables

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Présentation du langage et premières fonctions

Raisonnement par récurrence Suites numériques

MACHINE A SOUDER MANUEL D UTILISATION

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)

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

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

Initiation à l algorithmique

Mode d emploi base de données AIFRIS : Commande et inscriptions

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

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.

Utilisation des tableaux sémantiques dans les logiques de description

Nombre dérivé et tangente

1 Introduction au codage

Algorithmique et Programmation Fonctionnelle

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

INFORMATIONS DIVERSES

Algorithmes d'apprentissage

Le Bulletin de l Enseignement de l AOF, une fenêtre sur le personnel d enseignement public, expatrié en Afrique Occidentale française ( ).

Algèbre binaire et Circuits logiques ( )

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

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

Programmation Linéaire - Cours 1

Activités numériques [13 Points]

#"$&'$+*" (" ),'-"."'($ %($

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

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

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

Structures algébriques

Vers l'ordinateur quantique

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

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

par Denis-Charles Cisinski & Georges Maltsiniotis

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

UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS. Dossier n 1 Juin 2005

Transférer et enregistrer les photos sur l'ordinateur

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

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

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

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

Algorithmes de recherche

Maintenabilité d un parc applicatif

Grammaires d unification

CO-100 MANUEL DE L UTILISATEUR POUR SERRURE SANS FIL

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

Fonctions homographiques

Optimisation Discrète

Chapitre 2. Matrices

Théorème du point fixe - Théorème de l inversion locale

LibreOffice Calc : introduction aux tableaux croisés dynamiques

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

3. Conditionnement P (B)

Résolution d équations non linéaires

Algorithme. Table des matières

5 ème Chapitre 4 Triangles

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

Objets Combinatoires élementaires

BANQUES DE DONNÉES PÉDAGOGIQUES

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

Élasticité des applications à base de services dans le Cloud

Transcription:

LIF15 Théorie des langages formels Sylvain Brandel 2017 2018 sylvain.brandel@univ-lyon1.fr CM 8 GRAMMAIRES ALGÉBRIQUES 1

algébriques Exemple L = a(ab ba)*b. Mots générés : un a suivi de ab ou ba un certain nombre de fois suivi d un b. Un mot de L peut naturellement être décomposé en un début, un milieu et une fin. S ae E abe E bae E b Génération : S ae aabe aabbae aabbab S ae abae ababae ababaabe ababaabb 2

Une grammaire algébrique est composée : d'un alphabet Σ de symboles terminaux à partir desquels sont construits les mots du langage (a et b dans l'exemple), d'un ensemble de symboles non terminaux (S et E dans l'exemple) parmi lesquels on distingue un symbole particulier (souvent S pour Start), d'un ensemble fini de règles ou production de la forme symbole non terminal suite finie de symboles terminaux et / ou non terminaux. 3

Une grammaire algébrique est définie par un quadruplet G = (V, Σ, R, S) où : Σ est un ensemble fini de symboles terminaux appelé alphabet, V est un ensemble fini de symboles non terminaux tels que V Σ =, S V est le symbole initial R est un sous-ensemble fini de V (V Σ)* Les éléments de R sont appelés règles ou productions. 4

Soient u et v (V Σ)*. On dit que v dérive directement de u, et on note u G v, ssi x, y, w (V Σ)*, A V tels que u = xay et v = xwy et A w R Exemple En utilisant la grammaire G définie par les règles suivantes : S ae E abe bae b on obtient aabe G aabbae par application de la règle E bae. La relation G * est la fermeture réflexive transitive de la relation G. 5

Soient u et v (V Σ)*. On dit que v dérive de u, et on note u G * v, ssi w 0,, w n (V Σ)* tels que u = w 0 et v = w n et w i G w i+1 i < n. La suite w 0 G w 1 G G w n est appelée une dérivation (lorsqu'il n'y a pas d'ambiguïté, on peut omettre la référence à la grammaire G dans les symboles G et G* ). La valeur de n (n 0) est la longueur de la dérivation. 6

Soit G = (V, Σ, R, S) une grammaire algébrique. Le langage engendré par G, noté L(G), est : L(G) = { w Σ* S G * w } Un langage est dit algébrique s'il peut être engendré par une grammaire algébrique. 7

Exemple G = (V, Σ, R, S) avec : V = { S, E } Σ = { a, b } R = { S EE, E EEE be Eb a } La chaîne ababaa peut être dérivée de plusieurs façons : S EE S EE S EE S EE EEEE ae Ea ae aeee aeee EEEa aeee abeee abeee EEbEa aeea abaee abaee EEbaa abeea ababee ababee EbEbaa abebea ababae ababae Ebabaa ababea ababaa ababaa ababaa ababaa (a) (b) (c) (d) 8

Types de dérivations (a) et (b) : chaque étape de la dérivation consiste à transformer le non-terminal le plus à gauche. On appelle ce genre de dérivation une dérivation la-plus-à-gauche (left-most derivation). (c) : dérivation la-plus-à-droite (right-most derivation) où le symbole transformé à chaque étape est le non-terminal le plus à droite. (d) : dérivation ni plus-à-droite, ni plus-à-gauche. Une suite de dérivations peut être visualisée par un arbre de dérivation ou arbre syntaxique (ang. parse tree). Un tel arbre indique quelles sont les règles appliquées aux nonterminaux. Il n'indique pas l'ordre d'application des règles. Les feuilles de l'arbre représentent la chaîne dérivée. 9

Lorsqu'une grammaire peut produire plusieurs arbres distincts associés à un même mot, ont dit que la grammaire est ambiguë. Deux grammaires qui engendrent le même langage sont dites équivalentes. 10

Langages rationnels et langages algébriques Il existe des langages algébriques qui ne sont pas rationnels. Une grammaire algébrique G = (V, Σ, R, S) telle que R V Σ*(V {e}) est appelée grammaire régulière (ou encore linéaire à droite). (rappel : dans une grammaire algébrique (non régulière), R V (V Σ)*.) 11

Langages rationnels et grammaires algébriques Exemple G = (V, Σ, R, S) avec : V = { S } Σ = { a, b } R = { S aas bbs e } grammaire régulière : L(G) = (aa bb)* 12

Langages rationnels et grammaires algébriques Théorème Un langage est rationnel si et seulement si il est engendré par une grammaire régulière. Ce théorème exprime que tout langage rationnel est algébrique (et non l'inverse). On peut utiliser la preuve de ce théorème pour : passer d'un automate (déterministe ou non) à une grammaire, passer d'une grammaire à un automate. 13

Langages rationnels et grammaires algébriques Exemple (G M) G = (V, Σ, R, S) une grammaire régulière avec : V = { S, X, Y } Σ = { a, b } R = { S ax by, X as a, Y bs b } Construisons l'automate M acceptant L(G), en utilisant la preuve du théorème précédent. Pour cela on associe à chaque non-terminal de G un état dans M de la façon suivante : si A wb R alors on crée dans M une transition de l'état A vers l'état B étiquetée par w, si A w R alors on crée dans M une transition de l'état A vers l'état F, où F est le seul état introduit dans M qui ne correspond à aucun non-terminal de G. 14

Langages rationnels et grammaires algébriques Exemple (M G) Soit l'automate : b S aba bab a X Construisons une grammaire régulière G engendrant le même langage, en utilisant la preuve du théorème. Pour cela on associe à chaque transition de M une règle dans G de la façon suivante : pour toute transition de l'état p vers l'état q étiquetée par w, on crée la règle correspondante dans G : P wq, pour tout état final f de M, on crée dans G une règle d'effacement : F e. Y 15