Le parseur de documentation ActionScript 2 que je mène actuellement avec Kalysto, et en collaboration avec Samuel R. Neff, avance. Pas trop vite mais il avance ! :D Pour rappel, il s'agit d'un moyen de générer une documentation (au format HTML ou autre) en analysant les commentaires et signatures d'une ou plusieurs classes AS2. :)

Le processus fonctionnel se déroule en deux étapes : d'abord on parcoure la totalité du code pour en extraire les déclarations de classes, de propriétés et de méthodes, ainsi que les commentaires qui sont a priori des commentaires BLDocs (en gros, ceux qui commencent par /**) ... Ensuite, on peut parser ces parties du code pour générer un fichier XML contenant les informations récupérées, qu'on aura plus qu'à mettre en page grâce à une feuille de style XSLT ... 8)

On peut considérer qu'un commentaire est associé à une classe/propriété/méthode à partir du moment où il n'y a que des espaces et/ou des retours à la ligne entre la fin du commentaire et la déclaration elle-même. Cette première partie est a priori achevée, excepté un debugage éventuel. Donc, si certains d'entre vous ont des classes commentées "à la JavaDoc", ce serait super sympa de vous rendre sur ce parseur pour voir s'il n'oublie rien, ou ne fait pas quelques bêtises !!! :P

Ce parseur a été entièrement recodé par rapport au précédent. En effet, je me suis rendu compte que gérer les imbrications de commentaires, de chaines de caractères et de blocs d'instructions était quasi-impossible avec les expressions régulières uniquement. J'ai donc adopté un système de fonctionnoment séquentiel, toujours au moyen des expressions régulières, qui progresse dans le code, et sait en permanence s'il est dans un commentaire ou dans une chaîne de caractères, et à quel niveau il se trouve (racine, dans la classe, dans un méthode, etc ...) ... :)

L'étape suivante, une fois les commentaires associés aux bonnes déclarations, consiste à parser tout ca, pour en extraire les "tags" du type @param, @return, etc... pour ensuite générer un fichier XML contenant les informations dont on a besoin. Il sera a priori possible de parser un ensemble de classes (plusieurs fichier .as) en les uplodant dasn un fichier .zip contenant l'arborescence des répertoires et des fichiers ! 8)