[This message resent because the last one didn't appear on the list, probably because it contained attachments. Files now linked instead.]
Benjamin Smedberg wrote: > Bo Yang wrote: > >> Hi, >> I think my question has something to do with statically analysis, >> so I post here. >> Along with my reading of Mozilla code, I find it is very helpful if >> I can gain a part of classes hierarchy graph from the C++ source >> code. >> Could anybody please help me and give me some advice about with >> which tools under Linux I can achieve my purpose? Thanks in advance! >> > > dmandelin already wrote a tool to do this, see the first paragraph of > http://blog.mozilla.com/dmandelin/2008/02/28/a-few-notes-on-string-apis/ > > I think we would dearly love to actually run the analysis every time > you build with static analysis, because it's cheap to do... then it > wouldn't be hard to implement a "make classgraph" target to build an > SVG/HTML/something version of the result. > > I should note that my class hierarchy tool is very primitive, and I think its use of the Dehydra API is a little behind. The files are at http://people.mozilla.com/~dmandelin/classtree/ classtree.js -- The Dehydra script. (See http://wiki.mozilla.org/Dehydra_GCC.) This prints out the class hierarchy in a text form that's easy to read from Python. Some lines contain just a string, and are the name of a class. Others contain a pair, and represent an inheritance relationship. classtree.py -- Python script to postprocess the results. The input to this file is a file containing the output of classtree.js on one or more C++ files (just cat'd together). It will collect the relationships and output a single Graphviz dot graph. It's necessary to do this in multiple parts because each run of Dehydra will be over one source code file (as Dehydra runs within g++), but the desired final output can only be produced by looking at data from all the C++ files. Dave _______________________________________________ Dev-static-analysis mailing list [email protected] https://lists.mozilla.org/listinfo/dev-static-analysis
