Vers une compilation portable et performante des langages fonctionnels
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Cette these est consacree a la compilation portable et performante des langages modernes tels que scheme et ml. Pour obtenir la portabilite, nous avons opte pour un schema de compilation qui utilise c comme langage d'assemblage. Le choix de ce langage cible interdit l'utilisation de certaines des techniques traditionnellement efficaces. Nous avons comble cet handicap en multipliant les analyses et les optimisations de haut niveau. Les travaux presentes dans ce document ont donne lieu a la realisation d'un compilateur tres performant: bigloo. Distribue depuis plus d'un an sur ftp anonyme, il est maintenant largement utilise. Toutes les optimisations presentees y sont implantees. Nous presentons en conclusion des mesures de performances qui nous permettent d'affirmer que bigloo est, actuellement, le compilateur scheme le plus rapide. En plus de sa rapidite, notre compilateur est extensible a deux niveaux: (i) au niveau du langage source: il est possible d'inserer des passes supplementaires dans le processus de compilation. Plusieurs extensions ont deja ete realisees. Bigloo est capable, a ce jour, de compiler, en plus de scheme, caml-light ou meroon. (ii) au niveau des langages externes: bigloo possede une interface qui permet au programmeur d'avoir acces a un langage externe depuis scheme. Grace a elle, plusieurs langages peuvent etre melanges pour produire des applications autonomes. L'utilisation conjointe de nos deux niveaux d'extensibilite nous a permis, a titre d'experience, de realiser des programmes executables melangeant scheme, caml-light et c