Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum general.cherche-logiciel

general.cherche-logiciel : Analyse de code C++

Posté par alberthier (page perso, ) le 01 décembre 2006
Bonjour je cherche un utilitaire pour analyser du code C++ et me renvoyer des infos comme la liste des méthodes, des variables, etc.. préférence en ligne de commande. Par exemple, je voudrais pouvoir lister les méthodes d'un fichier :

cpp-parser methods MyClass.h

renvoie
MyClass::MyClass()
MyClass::~MyClass()
MyClass::method1()
MyClass::method2()

ou bien
cpp-parser private-variables MyClass.h

renvoie :
int m_toto
bool m_tata
std::string m_name

J'ai trouvé Source Navigator ( http://sourcenav.sourceforge.net/ ) mais je cherche plutôt un truc qui génère des listings plutôt qu'un outil graphique.

Merci

> Lire le message (9 commentaires, moyenne: 1,2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

grep ?

Posté par NeoX () le 01/12/2006 à 15:49. (lien). Évalué à 1.

grep '::' *.cpp

non ?

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: grep ?

    Posté par furai (page perso, ) le 01/12/2006 à 15:56. (lien). Évalué à 2.

    ça en ramènerait trop :

    std::cout << "HAHA";
    std::cout << std::endl;

    par exemple...

    • [^]Re: grep ?

      Posté par alberthier (page perso, ) le 01/12/2006 à 16:13. (lien). Évalué à 1.

      Oui et je voudrais un truc plus fin que grep (le nom des methodes sans les arguments, puis avec, etc...). Bien sur on peut faire beaucoup avec des regexp, mais j'aimerai qqch de plus simple.
      Et surtout avec grep, je perd de l'info comme public / protected / private

solution tordue

Posté par solsTiCe (page perso, ) le 01/12/2006 à 17:22. (lien). Évalué à 1.

tu utilises ctags et puis tu parses son fichier tags après !

avec gccxml ?

Posté par Troy McClure (page perso, ) le 01/12/2006 à 19:04. (lien). Évalué à 1.

http://www.gccxml.org/HTML/Index.html

  • [^]Re: avec gccxml ?

    Posté par David Decotigny (page perso, ) le 01/12/2006 à 20:12. (lien). Évalué à 1.

    Oui, on peut meme utiliser ca pour faire un peu de reflexivite, par exemple avec SEAL/Reflex (http://seal-reflex.web.cern.ch/seal-reflex/index.html ).

    Une autre solution est de partir du code compile, ou plus precisement des infos de debuggage. Il y a enoooooormement d'infos qui sont generees pour le debuggage, on l'oublie souvent. Sous Unix, il y a par exemple libdwarf qui permet d'y avoir acces relativement simplement (http://reality.sgiweb.org/davea/dwarf.html ). L'avantage, c'est qu'on est assure (modulo bugs) que ces infos sont exactes, puisque c'est le compilo qui les genere a la compilation. Alors qu'avec des outils comme gccxml, les infos sont generes par /un/ gcc, certes, mais c'est parfois difficile de faire en sorte que ce soit la /meme/ version de gcc (memes patches, etc).

    --
    d2
    • [^]Re: avec gccxml ?

      Posté par Sebastien Binet () le 01/12/2006 à 22:02. (lien). Évalué à 1.

      doxygen ?
      LXR +Glimpse ?
      LXR +Swish-e ?

      Reflex c'est bien mais c'est lourd a mettre en place et le jour n'est pas loin ou il sera completement phagocyte par ROOT.

      Je connaissais pas Dwarf... Merki :)

  • [^]Re: avec gccxml ?

    Posté par alberthier (page perso, ) le 04/12/2006 à 15:16. (lien). Évalué à 1.

    Très très intéressant, merci pour le lien !

doxygen

Posté par Jean-Yves LENHOF (page perso, ) le 03/12/2006 à 14:57. (lien). Évalué à 2.

Si c'est pour faire de la doc et faire des liaisons entre modules....c'est le mieux

Revenir en haut de page || Retourner aux forums || Retourner au forum general.cherche-logiciel