Journal : Générateur de graphes d'appels de fonctions

Posté par Pierre Pronchery (page perso, ) le 25 juin 2008
0
La dépêche récente sur CodeSwarm m'a fait penser que ceci pourrait en intéresser. Je travaille sur un générateur de graphes d'appels de fonctions (en C pour du C). Quelques résultats sont visibles sur mon blog: http://people.defora.org/~khorben/200806.html

Je pourrais même écrire de la documentation si demandé. Les limitations actuelles comprennent:

  • le pré-processeur n'est pas fini (notamment #if, les substitutions, et les commentaires dans les directives)

  • en conséquence, seuls les en-têtes (encore incomplets) de ma libc sont supportés (à ma connaissance)

  • fonctionne mieux sur NetBSD, puis Linux, puis FreeBSD ou OpenBSD, puis Solaris



Tout le nécessaire se trouve dans le CVS de mon projet d'OS (un de plus):
$ cvs -d:pserver:anonymous@cvs.defora.org:/Data/CVS co DeforaOS

Il faut notamment, dans l'ordre: System/src/libSystem, Apps/Devel/src/cpp, Apps/Devel/src/as, Apps/Devel/src/c99.
Le grapheur est un module du compileur, choisi avec "c99 -M graph". Il génère des fichiers au format "dot" pour conversion avec graphviz.

Je conseille d'installer mes binaires en dehors d'un chemin du $PATH, sinon gcc risque ne va plus trouver ses petits (notamment cpp et as).

Pour conclure, je reconnais qu'il existe déjà des logiciels libres pour le faire. En plus, une bonne partie de mon code n'est pas libre pour l'instant. Mais c'était "facile" à faire avec le design ambitieux de mon compileur C (multi-OS et multi-plateformes par défaut notamment).

Merci d'avoir suivi cette auto-promotion :)

> Lire le journal (12 commentaires, moyenne: 2,7).  

Vous avez demandé le commentaire #943901.

alt

Posté par left () le 25/06/2008 à 08:13. (lien). Évalué à 2.

Puisqu'il est fait allusion à d'autres outils libres pour le faire, je me permet de citer egypt ( http://www.gson.org/egypt/egypt.html ) qui fonctionne également très bien.