Bonjour. Je viens de compléter une première version du programme js2html, un "pretty-printer" de AST qui génère du HTML. Le HTML généré donne les numéros de ligne et fait un "syntax highlighting" de base. De plus, si on pointe la souris sur une partie du code, il y aura un "highlight" en jaune du code source correspondant au sous-arbre de AST qui contient cette partie de code, et un "tooltip" qui donne de l'information sur ce sous-arbre (présentement ça donne simplement la "Location").
Par exemple, si je pretty-print fib.js avec la commande
% ./js2html fib.js
j'obtiens le fichier fib.js.html . Si je pointe avec la souris sur le deuxième "return", j'aurai l'affichage suivant :
Il est facile de "customizer" l'information qui est affichée dans le tooltip. Il suffit de définir la fonction JavaScript tooltip_info(loc) dans le fichier "highlight-hooks.js". Cette fonction doit retourner une string contenant le code HTML correspondant à l'information à afficher pour l'AST dont la "Location" est "loc". Par exemple, pour obtenir l'information ci-dessus j'ai fait :
// File: "highlight-hooks.js"
function tooltip_info(loc) { // Customize this function to return a string which contains the // HTML code for the tooltip associated with the AST subtree // whose location is 'loc'. Return undefined to prevent showing a // tooltip for this AST subtree.
return '<code>' + loc + '</code>'; }
Il serait donc assez facile d'interfacer cela à une analyse. C'est ce que je compte faire pour l'analyse dynamique.
Maxime, ça serait utile que tu interfaces ton analyse statique à cet outil pour qu'on puisse plus facilement examiner les résultats d'analyse.
Marc
Afficher les réponses par date