Modélisation d'un générateur de code pour un langage fonctionnel ciblé vers une machine parallèle multi-contextes

Notre travail vise à modéliser et concevoir la partie finale d'un compilateur pour une machine multi-contextes, plus précisément la partie génération de code. La première tâche de ce travail consiste à modéliser l'entrée (représentation intermédiaire) et la sortie (THREADED-C) du générateur de code, ensuite formaliser les dépendances entre les threads, et finalement traduire les entités de l'entrée vers celles de la sortie à l'aide de pseudo-code. La méthodologie utilisée pour la réalisation de ce projet s'appuie sur les techniques orientées-objet de modélisation (UML et OCL).

La modélisation de l'entrée et de la sortie du générateur de code a permis de spécifier, d'une manière très précise, les entités indispensables au générateur. Ceci était nécessaire pour trouver, entre autres, la correspondance entre les entités du langage intermédiaire et celles du langage cible. L'extraction et la description des dépendances statiques entre les threads du langage intermédiaire ont aussi été entièrement réalisées.

La méthodologie de description des deux langages (intermédiaire et cible) devrait faciliter la mise en oeuvre d'un traducteur et pourrait servir de base à des extensions futures comme l'améliorations de la qualité du code généré en profitant des contraintes formalisées lors de l'extraction des dépendances entre les threads.