Pretty Printer

Dans le cours nous avons parlé le concept des visiteurs pour séparer la définition des données des fonctionnalités effectuées là-dessus. Pour mieux étudier ce concept en pratique, nous allons réaliser un pretty printer en utilisant le concept des visiteurs.

Aussi l'analyse de noms et l'interprétation vont se servir des visiteurs.

Le fichier Printer.java contient déjà un cadre pour réaliser les méthodes correspondantes. Le fichier PrinterTest.java par-contre permet à tester la fonctionnalité.


Comment procéder

Avant de compiler Printer.java et PrinterTest.java, il faut ajouter le cadre pour les visiteurs dans la classe d'arbres Tree, c-à-d. il faut modifier et recompiler Tree.java. Récompilez la classe Tree avec
      javac -d classes -classpath classes sources/parser/Tree.java
      
Maintenant créez un répertoire printer dans sources, où vous mettez Printer.java et PrinterTest.java. Compilez-les avec
      javac -d classes -classpath classes sources/printer/*.java
      
et essayez printer.PrinterTest sur vos exemples de test. Complétez le code de la classe Printer. La classe contient une variable offset pour déterminer la distance souhaité de la partie de code actuelle du bord gauche de l'écran.

Vous allez remarquer qu'il est nécessaire de rendre publics les champs dans les sous-classes de Tree (voir aussi transparents, page 46).


Christine Röckl
Last modified: Wed May 1 16:32:16