next up previous contents
suivant: Le compilateur monter: Gloorp précédent: Liste des figures   Table des matières

Introduction

Depuis la première version de Prolog sortie en 1970, trois autres générations de ce langage ont vu le jour. La dernière, Prolog IV date de 1997 et marque l'aboutissement de ce langage essentiellement utilisé pour l'intelligence artificielle.
Notre cursus au sein de l'ENSSAT nous a amené, dans un premier temps, à étudier les règles et les principes de ce langage. Mais au cours du module de Langages et Compilation, nous sommes passés de l'autre côté de Prolog, pour, cette fois, réaliser un interpréteur Prolog pur. Ce rapport présente donc le travail que nous avons réalisé autour de ce projet, mais nous ne reviendrons pas sur les aspects de la programmation Prolog ni sur le vocabulaire que nous supposons connus du lecteur.
En partant d'un analyseur syntaxique fourni, nous avons écrit et mis au point un interpréteur Prolog pur dans le but que ce dernier résolve les questions entrées par l'utilisateur. Mais il était nécessaire de passer par une phase de compilation pour créer, à partir des règles et des questions, des structures de données exploitables par l'interpréteur.
Le groupe chargé de ce projet était composé de quatre personnes réparties en binômes, ce qui a permis de nous répartir les tâches. Un premier binôme composé de Joanès et Sébastien s'est attaché à la réalisation de l'interpréteur proprement dit, tandis qu'Alexandre et Sylvain ont écrit le compilateur, le décompilateur et mis au point une sur-couche d'interfaçage. Toute la programmation a été réalisée en C sur une base Lex et Yacc pour l'analyse lexicale et syntaxique.
Dans un premier temps nous nous attacherons à décrire le travail réalisé autour du compilateur, pour ensuite s'attacher à comprendre la mise en \oe uvre de l'interpréteur. Enfin nous étudierons l'interface, sur-couche non demandée à l'origine, mais que nous avons écrite pour simplifier l'utilisation de notre interpréteur Prolog pur.
Mais avant toute chose, il convient de présenter les deux partie principales de notre projet1:

Figure: Dépendances des fichiers
\includegraphics [scale=0.45]{/home/alex/Cours1999-2000/Projet_Compil/Rapport/Schemas/schema0.eps}


next up previous contents
suivant: Le compilateur monter: Gloorp précédent: Liste des figures   Table des matières
Alexandre DAGAN
2000-07-07