Gestion système d'information
LANGAGES - GRAMMAIRES - AUTOMATES
Marie-Paule Muller
Version du 14 juillet 2005
Ce cours présente et met en oeuvre quelques méthodes mathématiques pour l’informatique théorique. Ces notions de base pourront servir d'entrée en matière avant d'aborder un cours de compilation. Elles sont introduites ici sans aucun prérequis, afin d’être accessibles à tout lecteur débutant sur ce sujet.
Table des matières.
INTRODUCTION 1. Les tâches d’analyse d’un compilateur. 2. La notion de grammaire et d’analyse syntaxique. LANGAGES – LANGAGES REGULIERS 1. Définitions. 2. Opérations sur les langages. 3. Langages réguliers (Kleene, 1956). GRAMMAIRES ALGEBRIQUES (dites aussi : « hors contexte ») 1. Définition d’une grammaire algébrique. 2. Dérivations. Langage engendré. 3. Arbre de dérivation. Dérivations à gauche. 4. Grammaires régulières. 5. Ambiguïté. Graphe orienté d’une grammaire algébrique. LE LEMME DE L’ETOILE (en anglais : « pumping lemma ») 1. Le lemme de l’Etoile pour les grammaires régulières. 2. Un exemple d’application du lemme de l’Etoile. ANALYSE SYNTAXIQUE (en anglais : « parsing ») 1. Test sur le préfixe terminal dans les analyses syntaxiques descendantes. 2. Analyse syntaxique descendante en largeur d'abord. 3. Analyse syntaxique descendante en profondeur d'abord. 4. Note sur les analyses ascendantes. AUTOMATES 1. Définitions. 2. Langage reconnu par un automate. 3. Automates déterministes, automates déterministes complets. 4. Automates et grammaires régulières. 5. Les λ−automates. Preuve du théorème 2. TRANSFORMATION DES GRAMMAIRES ALGEBRIQUES 1. Suppression de la récursivité de l’axiome. 2. Suppression des règles vides. 3. Suppression des enchaînements de variables. 4. Suppression des variables et symboles inutiles. 5. Forme normale de Chomsky (1959). 6. Forme normale de Greibach (1965). NETOGRAPHIE 2 2 2 5 5 6 6 8 8 9 10 11 13 15 15 17 19 19 20 21 23 24 24 25 25 27 28 32 32 33 34 35 36 37 40
M.P. Muller - LANGAGES - GRAMMAIRES -