Hiver 2003SEG2501 analyse lexicale1 Notes supplémentaires au sujet de lanalyse lexicale Exemples Dérivation dun NFA qui accepte le même langage (algorithme:

Slides:



Advertisements
Présentations similaires
Fabrice Lauri, François Charpillet, Daniel Szer
Advertisements

Sensibilisation à l’Algorithmique et structure de données
Calcul propositionnel
Cours S.S.I., SI1, avril 2007 – Comment utiliser les outils déjà présentés. Page 1 Comment utiliser les outils déjà présentés dans le cours S.S.I. et pourquoi.
Chap 1 Grammaires et dérivations.
Nicolas Bourbaki.
Introduction : Compilation et Traduction
Automate asynchrone.
Expressions rationnelles
Chapitre 1 Automates finis
3x – 7 = 23 4x + 9 Algèbre Révision 36 = 4x = c2
IFT313 Introduction aux langages formels
Construction du graphe de Spehner.. Différentes étapes 1) Alphabet. 2) Langage. 3) Création des sommets du graphe de Spehner. 4) Ajout des différents.
Chapitre III Héritage (début)
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
Clé dichotomique des arbres (pour 8 arbres)
Analyse lexicale Généralités Expressions rationnelles Automates finis
IFT451 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
L’extraction de rôles Role mining
4 - Les automates et les lexiques morphologiques : le contenu mot fléchilemmepartie du discourstraits de flexion Habituellement, un lexique morphologique.
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°3.
Systèmes d’équations linéaires
Bases de données lexicales
(une enchère classique réunit un vendeur et plusieurs acheteurs)
Structures de données IFT-2000
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Révision de mi-session.
IFT313 Révision finale Département d’informatique
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313.
IFT313 Introduction aux langages formels
Chapitre 8: Lentilles minces
Chapitre 3 Machines de Turing.
IFT Complexité et NP-complétude
Gestion de Fichiers Hachage Extensible.
Chapitre 7: Le théorème de Kleene
Algorithmes d ’approximation
Optimisation dans les réseaux
Applications des langages hors-contextes Les analyseurs syntactiques ascendants GNU Yacc et Bison.
Chapitre 3 Syntaxe et sémantique.
Partie II Sémantique.
IFT313 – Introduction aux langages formels Éric Beaudry Exercices Expressions régulières, ADF et AFN Été 2010.
Description des langages
Le diagramme d’activités
Programmation non procédurale Le projet ECOLE 2000
Rappel Modèle analyse-synthèse de la compilation
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Paradigmes des Langages de Programmation
La Logique du premier ordre LPO
Programmation linéaire en nombres entiers
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Licence Informatique Algorithmique des graphes
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Licence d’informatique Algorithmique des graphes
Exploration systématique de graphes
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev.
Problème de double digestion
Bureautique M1 Publipostage.
Chapitre 9 La transformée de Laplace
Leçon 4 NOTION DE FONCTION Fabienne BUSSAC.
Recherche par automates finis
Les transducteurs En anglais transducers.
Abdelkader Heni FUNDP Syntaxe et sémantique Abdelkader Heni FUNDP
Statistiques Cours de seconde.
Algèbre de Boole Définition des variables et fonctions logiques
Chap 1 Grammaires et dérivations.
CSI 3525, Grammaires, page 1 Description des langages –Syntaxe et sémantique –Grammaires –Sémantique axiomatique.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Commande en temps fini (boucle ouverte)
La résolution de problèmes
Cycle, Cocycle, Arbre et Arborescence
Transcription de la présentation:

hiver 2003SEG2501 analyse lexicale1 Notes supplémentaires au sujet de lanalyse lexicale Exemples Dérivation dun NFA qui accepte le même langage (algorithme: expression régulière – > NFA) Transformation NFA – > DFA par Gregor v. Bochmann février 2003

hiver 2003SEG2501 analyse lexicale2 NFA Voici un automate qui accepte le langage défini par lexpression régulière (a|b)*abb

hiver 2003SEG2501 analyse lexicale3 suite Cet automate a la table de transition suivante:

hiver 2003SEG2501 analyse lexicale4 Voici un DFA qui accepte la même langage

hiver 2003SEG2501 analyse lexicale5 Exemple de construction dun automate à partir dune expression régulière Nous prenons lexemple de lexpression r=(a|b)*abb Voici son arbre syntaxique:

hiver 2003SEG2501 analyse lexicale6 Exemple – suite Pour les feuilles de larbre, voici les automates correspondants: Voici lautomate correspondant à la parenthèse avec ses deux alternatives:

hiver 2003SEG2501 analyse lexicale7 Exemple – suite (2) Voici lautomate correspondant à la parenthèse avec létoile:

hiver 2003SEG2501 analyse lexicale8 Exemple – suite (3) Avec un a ajouté à la fin, cela donne cela:

hiver 2003SEG2501 analyse lexicale9 Exemple – suite (4)... et finalement le résultat final:

hiver 2003SEG2501 analyse lexicale10 Exemple de conversion NFA à DFA Prenons le NFA obtenu pour lexpression régulière ci-haut:

hiver 2003SEG2501 analyse lexicale11 Table de transition du DFA Si on applique lalgorithme décrit dans les notes du Dr. Somé, on obtient la table de transition suivante. Question: Quels ensembles détats du NFA représentent les états A, B, C etc. du DFA ?

hiver 2003SEG2501 analyse lexicale12 Diagramme de transition du DFA

hiver 2003SEG2501 analyse lexicale13 La minimalisation des automates Question: Etes-vous surpris que lon a pas obtenu le même automate que celui présenté sur la page 4? Les deux automates sont équivalents. Définition: Deux automates sont équivalents sils acceptent le même langage. Il existe des algorithmes pour trouver un automate minimal (ayant le nombre minimum détats) équivalent à un automate donné. Un tel algorithme pourrait être appliqué à lautomate obtenu sur la page précédente pour aboutir à lautomate minimal montré sur la page 7. Question: Comment peut-on vérifier que lautomate de la page 7 est minimal ? –Réponse: Si le langage accepté pour chaque état (pris comme état initial) est différent des autres états, alors lautomate est minimal. –Inversement, on voit que les états A et C de lautomate de la page précédente acceptent le même langage. Donc, se sont des états équivalents, et lautomate nest pas minimal. On peut fusionner les états équivalents et on obtient lautomate de la page 7.