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.