trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] Creating flow diagrams from sources?

From: Aleksey Midenkov <midenok@...>
Date: Fri, 9 Mar 2012 10:07:48 +0400
On Fri, Mar 9, 2012 at 9:29 AM, Darrell Anderson
<humanreadable@...> wrote:
>> >> I have been looking around the web for an app to
>> convert C++ source code to
>> >> flow diagrams. I'm looking in the wrong places or
>> nothing exists other than
>> >> a few commercial apps.
>> >>
>> >> I was hoping the Umbrello tool could help, but that
>> does not convert
>> >> anything directly.
>> >>
>> >> Is there a way to do this?
>> >>
>> >> I want to map the entire docbook process. As I am
>> still very much a novice
>> >> C++ coder, I am in over my head trying to trace how
>> everything connects.
>> >> The process should be documented for the wiki.
>> >>
>> >> Ideas?
>> >>
>> >> Thanks.
>> >
>> > Check http://www.graphviz.org/Gallery.php
>
>>
>> Doxygen uses graphviz. De-facto standard of documenting
>> sources.
>
> Thank you both.
>
> My understanding of doxygen was that software takes existing commentation in the source code to create documents. If no commentation exists then does doxygen still create documentation? How?
>
> This is all very new to me. I would be grateful to receive a description/outline how this process works.
>
> The goal here is for me to understand how the docbook support process works with respect to the source code --- so I can document this process at the wiki. I very much am a C++ newbie and can't simply browse the source code to create a flow diagram. Just can't happen with my current C++ skills. For me to get to that point will take a long time. :) So yes, by looking for some way to convert the source code to a flow diagram I take a shortcut toward understanding the process and will learn about the source code because the flow diagram is a guide.
>
> Thanks!
>
> Darrell
>

Just run 'doxygen -g'. In generated Doxyfile turn RECURSIVE = YES,
HAVE_DOT = YES, CALL_GRAPH = YES, CALLER_GRAPH = YES or whatever you
want to be included in the output. After that run 'doxygen' and look
at 'html/index.html'.

Yes, it generates info independently of comments. It uses comments (in
proper format) to get descriptions of functions and arguments.

But I must warn you that diagrams are not silver bullet to understand
the code. Unless you want to see big picture (from the point of bird
fly) which is rarely needed (f.ex. for global architecture changes,
what is not your case anyway). The best way to learn code is to get
your debugger into interested points and examine call stacks and
arguments from them. And of course there is no point to learn the code
without specific task you want to achieve.