|
|
|
Le code source du compilateur SmallEiffel fait un usage intensif de l'aliasing afin d'atteindre les meilleures performances, tant en termes de mémoire que de vitesse d'exécution. Cette technique semble très appropriée à la compilation mais peut aussi s'appliquer à une large gamme d'applications. Grâce aux capacités de programmation par contrat du langage Eiffel, l'aliasing peut être géré d'une façon assez sûre. Le modèle de conception singleton se révèle également crucial pour l'implantation d'objets fournisseurs d'alias. Nous présentons ici une implantation efficace de ce modèle rendue possible par certains idiomes d'Eiffel. |
|
Ce mémoire d'habilitation à diriger des recherches présente de façon synthétique les activités de recherche que j'ai menées dans le cadre du projet SmallEiffel The GNU Eiffel Compiler . Le chapitre 1 présente le projet SmallEiffel, projet qui occupe une grande partie de mon temps depuis 1994, date à laquelle j'ai commencé l'écriture du premier compilateur. J'essaye également dans ce chapitre d'expliquer quelles furent mes motivations en démarrant ce projet ambitieux. L'hypothèse du système fermé, chapitre 2, est un point essentiel dans les résultats de SmallEiffel. Grâce à cette approche, non seulement nous sommes en mesure de prédire statiquement le type du receveur pour un très grand nombre d'appels, mais aussi, de proposer une implantation très efficace de la liaison dynamique, point clef de l'implantation des langages à objets. C'est également grâce à l'hypothèse du système fermé que nous sommes en mesure de spécialiser la gestion mémoire ainsi que l'implantation de la généricité. Le chapitre 3 intéressera peut-être ceux qui souhaitent commencer l'écriture de la partie frontale d'un compilateur sans utiliser ni Le chapitre 4 présente l' Je passe en revue dans le chapitre 5 l'ensemble de mes publications avant de conclure et de dresser un bilan de mon travail dans le chapitre 6. L'annexe A décrit succinctement le travail réalisé pour le projet ProMic dans le cadre d'une convention de recherche avec obligations de résultats. Le développement du logiciel ProMic, nous a permis de valider une seconde fois, l'intérêt d'Eiffel et de la programmation par contrats dans un autre contexte: un environnement interactif de développement pour micro-contrôleurs synthétisables. L'annexe B vient compléter le chapitre 3 en donnant le texte source d'un programme écrit en J'ai cru bon d'ajouter en annexe C de ce mémoire la liste des personnes qui ont contribué à l'effort important que représente le projet SmallEiffel. Enfin, pour donner un aperçu de l'ouvrage, l'historique des 25 versions diffusées à ce jour est ajouté en annexe D. |
|
|