Mots clés : compilation, Java,
spécialisation .
Participant : Gilles Muller.
L'utilisation directe d'un moteur de spécialisation comme
Tempo nécessite la compréhension des concepts de base de
l'évaluation partielle tels que l'analyse de temps de
liaison. Afin de simplifier l'utilisation d'un spécialiseur,
nous avons introduit une approche déclarative à la
spécialisation dans le contexte de la programmation orientée
objet (voir la section 6.1). Dans notre
approche, l'unité de déclaration est la classe de
spécialisation [VCMC97]. Elle enrichit l'information
concernant une classe existante en décrivant comment et quand
la spécialisation doit être réalisée. À partir de ces
informations, un compilateur produit des fichiers de contexte
permettant de guider le spécialiseur. Une implémentation d'un
compilateur des classes de spécialisation a été réalisée pour
le langage Java. Ce compilateur, nommé JSCC,
prend en entrée du source Java étendu avec les classes de
spécialisation et produit du Java standard.
JSCC est disponible via le Web à l'adresse
http://www.irisa.fr/compose/jscc.