M2 INFORMATIQUE

UE HAI931I - Méta-Programmation et Réflexivité

Christophe Dony


Introduction

Notes de Cours

Sujets de TDs/TPs

Corrigés des Exercices

Quand les corrigés sont des codes Pharo, pour les utiliser :
--> solution 1 : ouvrir les fichiers avec un éditeur de texte et faire des copier/coller vers l'éditeur Pharo (dans le browser);
--> solution 2 : sauvegarder le fichier avec son extension ".st", puis en Pharo, ouvrir le fichier avec l'outil FileBrowser puis le charger avec FileIn ou Install. Le code chargé (installé) sera ensuite visible dans le browser.
  • Pour le départ des TPs en Pharo, une implantation des classes {\tt Pile} et {\tt PileTest} sont données ici : CPile.st et CPileTest.st. Le nom de la classe dans ce corrigée est CPIle; cela permet de ne pas interférer avec le nom de votre version de la classe Pile; vous pouvez essayez de trouver les réponses avant de regarder le corrigé. Si vous avez bien nommé votre package TD-HAI931, vous trouverez la classe corrigée CPILE, avec le browser, dans le sous-package TD-HAI931-PileBase.
  • Transformation de modèle en Pharo: RefactorPile.st.
  • Une classe de Test pour RefactorPile.
  • méta-objets pour accéder à la pile d'exécution : Exercice Catch-Throw .
  • Une classe "MemoPile" mémorisant la liste de ses instances, en métaclasses implicites Pharo.
  • Variable de classe "president" en métaclasses implicites Pharo.
  • Classe abstraite "Animal" et sous-classes concrètes Chien et Chat en métaclasses implicites Pharo.
  • Une classe Singleton étendu SalleCours.st en métaclasses implicites Pharo..
  • SingletonClass en CLOS (métaclasses explicites) : singleton.lisp
  • MemoClass en CLOS (métaclasses explicites) : MemoClass.lisp
  • AbstractClass en CLOS (métaclasses explicites) : AbstractClass.lisp
  • à suivre ...
  • Projet