[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

Reply via email to