3 May 2004 03:25

### RE: Extracting more source struture in XML output

Hi M. Paul Mackay and all,

>From: <Paul.Mackay <at> nokia.com>
>To: <doxygen-develop <at> lists.sourceforge.net>
>Subject: [Doxygen-develop] Extracting more source struture in XML output
>Date: Mon, 26 Apr 2004 12:00:41 -0700
>

Well, I'm writing a software patch for Doyxgen to produce more "information"
on the SVG and XML back-end for
"Software Comprehension/Analysis/Visualization, testing, metrics and Reverse
Engineering"

Currently, I'm working on tighter integration with Graphviz/Dot,
so it's used internally for speed reasons mostly and also to have Graphviz

Something like a web SVG/JS version of GraphViz/dotty for Windows.

>I have recently been looking at XML and the output Doxygen can produce. The
>richness of information and versatility of what can be done with it is
>impressive given the tools available for processing XML.
>
>Does anyone have any comments on the idea of Doxygen outputting more
>information about the structure of the source code?

>I am thinking of a breakdown in terms of blocks, statements, declarations,
>etc.

I'm also thinking in terms of block#, statement#, sub-statement#,


3 May 2004 16:31

### Windows binaries available for Doxygen-1.3.6-20040427 in CVS

Hi,

compiled for MS Windows from

http://doxygen.sourceforge.net/dl/doxygen-1.3-cvs/

This is the place where you should find also the next
releases.  The name of the archive is constructed
from the date of CVS release and looks like
doxygen_win32_2004mmdd.zip, where mm and dd is
month and day of releasing the version.

The binaries are NOT created automatically, so it may
happen that some newer CVS sources were not compiled
because I am not present to do that or I forgot... ;)

Regards,
Petr

P.S. The translator report can be found in the file
like tr2004mmdd.zip.

--

--
Petr Prikryl (prikrylp at skil dot cz)

-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.


6 May 2004 17:28

### <at> extends command to document that a c struct *extends* another

hi dimitri,

the other issues. Here is it again:

Wouldn't it be a good idea to have a  <at> extends command (which should not be used
in C++/Java) so that I can document that a struct extends another in C.

It is quite common in C to do:

struct base;

struct derived {
struct base _base;
...
};

I would like to see this reflected in the class hierarchy. Sugestion is that
doxygen either detects using a struct as a first member of a struct and/or
doxygen adds an  <at> extends filed to the documentation of structs.

What do you think about it? Has it a chance to be put onto the wishlist

ciao
Stefan
--

--
\|/            Stefan Kost
< <at>   <at> >           private            business
+-oOO-(_)-OOo------------------------------------------------------ - - -  -   -
|       __  Address  Simildenstr. 5     HTWK Leipzig, Fb IMN, Postfach 301166


6 May 2004 18:15

### Re: <at> extends command to document that a c struct *extends* another

You support both techniques.

config option that will automagically apply the the  <at> extend tag if the
first field of a struct has the name "xxx". You might also want to
allow the name to be specified as a prefix (i.e. your config says
STRUCT_AUTOEXTEND_FIELD_NAME =_base and then it will trigger on
_baseFoo or _baseBar as the first field name).

On May 6, 2004, at 8:28 AM, Stefan Kost wrote:

> hi dimitri,
>
> got lost in
> the other issues. Here is it again:
>
> Wouldn't it be a good idea to have a  <at> extends command (which should
> not be used
> in C++/Java) so that I can document that a struct extends another in C.
>
> It is quite common in C to do:
>
> struct base;
>
> struct derived {
> 	struct base _base;
> 	...
> };
>


6 May 2004 19:00

### Add a tab to RTF output

I need to separate the parameter from the description with a tab in the RTF output, preferably by inserting a format string in the header file.  (All descriptions are drawn from the header files by placing “ <at> fn functionName” in each C file function header.)  The RTF is processed by Word 2002 (Word XP).

I have tried inserting \tab \\tab {\tab} and {\\tab} – with and without quotation marks.  The closest I can get is an output of “\tab” in the RTF file, which then can be searched and replaced with “^t” to produce a tab.

Ideas??

/* ============================================================ */

/**

* functionName() description for FunctionReturnType functionName().

* description continued

*

* <at> param *p     <description> *p

*

* <at> param a      <type> a

Resultant output:

Parameters

*p far* some pointer

Desired output:

Parameters

*p            far* some pointer

Regards,

Larry Randall

11 May 2004 10:20

### Some bugs in russian translator.

	Hi doxygeners!
Some bugs in russian translator. new translator_ru attached.
Thanks to Alexander Borovsky.

Attachment (translator_ru.tgz): application/x-compressed, 10 KiB
17 May 2004 18:31

### Adding a new config switch?

Quick question to make sure I don't miss anything.
What files should I change so that a new config switch shows up in all
the right places (the GUI config app, the documentation, the binary)?
I've got changes to htmlgen.cpp that conditionally use
a HTML_USE_CSS_NOWRAP boolean config switch to control it.
Cheers,
Tom Costa

-------------------------------------------------------
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click  18 May 2004 16:09 ### Patch to Doxygen 1.3.7 for man file output Hi all! This patch corrects two bugs, both in man page output. 1) Using \verbatim (and other commands turning off 'filling' of lines) caused the output to be left in that state for the rest of the file, due to having a .nf directive but no following .fi directive. 2) If a function had only a brief description and no detailed description (for instance using the JAVADOC_AUTOBRIEF and REPEAT_BRIEF options) then following text, like the label 'Parameters', would get put on the same line. This was due to text output not setting the 'paragraph' flag. Test code: ------------------------------------------------------------------------------ /** \file 1.cc */ /** * This is the main program. No surprises there, then, but let's have some * text to fill things out a bit. And another sentence for good luck. * <at> param argc the argument count * <at> param argv the argument pointer */ int main(int argc, char **argv) { return 0; } /** * This has only a short description. * <at> param arg the argument */ void fred(int arg) { } /** * A function to test verbatim output. Let's have a bit of long description * first just to fill in the space... \verbatim Lines to output "as is" with no filling not even cream. \endverbatim * And now some text which needs to be filled with cream and * other sugary stuff which is bad for your teeth. Not to mention * your waistline if you worry about such things... */ void function_verb(void) { } ------------------------------------------------------------------------------ Output without patch (just the detailed descriptions): ------------------------------------------------------------------------------ int main (int argc, char ** argv) This is the main program. No surprises there, then, but let's have some text to fill things out a bit. And another sentence for good luck. Parameters: argc the argument count argv the argument pointer void fred (int arg) This has only a short description. Parameters: arg the argument void function_verb (void) A function to test verbatim output. Let's have a bit of long description first just to fill in the space... Lines to output "as is" with no filling not even cream. And now some text which needs to be filled with cream and other sugary stuff which is bad for your teeth. Not to mention your waistline if you worry about such things... ------------------------------------------------------------------------------ Output with patch (just the detailed descriptions): ------------------------------------------------------------------------------ int main (int argc, char ** argv) This is the main program. No surprises there, then, but let's have some text to fill things out a bit. And another sentence for good luck. Parameters: argc the argument count argv the argument pointer void fred (int arg) This has only a short description. Parameters: arg the argument void function_verb (void) A function to test verbatim output. Let's have a bit of long description first just to fill in the space... Lines to output "as is" with no filling not even cream. And now some text which needs to be filled with cream and other sugary stuff which is bad for your teeth. Not to mention your waistline if you worry about such things... ------------------------------------------------------------------------------ Patch: ------------------------------------------------------------------------------ *** doxygen-1.3.7/src/mandocvisitor.cpp Tue Apr 13 18:13:43 2004 --- src/mandocvisitor.cpp Tue May 18 14:39:49 2004 *************** *** 167,172 **** --- 167,173 ---- { m_insidePre=FALSE; if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; } *************** *** 187,192 **** --- 188,194 ---- m_t << ".nf" << endl; parseCode(m_ci,s->context(),s->text().latin1(),s->isExample(),s->exampleFile()); if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; break; *************** *** 196,201 **** --- 198,204 ---- m_t << ".nf" << endl; m_t << s->text(); if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; break; *************** *** 230,235 **** --- 233,239 ---- FileDef fd( cfi.dirPath(), cfi.fileName() ); parseCode(m_ci,inc->context(),inc->text().latin1(),inc->isExample(),inc->exampleFile(), &fd); if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; } *************** *** 240,245 **** --- 244,250 ---- m_t << ".nf" << endl; parseCode(m_ci,inc->context(),inc->text().latin1(),inc->isExample(),inc->exampleFile()); if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; break; *************** *** 253,258 **** --- 258,264 ---- m_t << ".nf" << endl; m_t << inc->text(); if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; break; *************** *** 287,292 **** --- 293,299 ---- if (!m_hide) { if (!m_firstCol) m_t << endl; + m_t << ".fi" << endl; m_t << ".PP" << endl; m_firstCol=TRUE; } *************** *** 548,553 **** --- 555,561 ---- //{ // m_insidePre=FALSE; // if (!m_firstCol) m_t << endl; + // m_t << ".fi" << endl; // m_t << ".PP" << endl; // m_firstCol=TRUE; //} *** doxygen-1.3.7/src/mangen.cpp Wed Mar 24 20:36:05 2004 --- src/mangen.cpp Tue May 18 14:33:34 2004 *************** *** 632,636 **** --- 632,637 ---- n->accept(visitor); delete visitor; firstCol=FALSE; + paragraph = FALSE; } ------------------------------------------------------------------------------ ------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only$19.95/mo for the first 3 months!

19 May 2004 10:57

### Re: Adding a new config switch?

On Mon, May 17, 2004 at 09:31:45AM -0700, Thomas Costa wrote:
> Quick question to make sure I don't miss anything.
> What files should I change so that a new config switch shows up in all
> the right places (the GUI config app, the documentation, the binary)?

You need to add the option to src/config.l (you'll find the options at
the bottom of the file) and its documentation to doc/config.doc.

> I've got changes to htmlgen.cpp that conditionally use
> 'style="white-space: no wrap"' instead of "nowrap" and I wanted to add
> a HTML_USE_CSS_NOWRAP boolean config switch to control it.

In this case it may be better to send this as a non optional improvement ;)

Regards,
Dimitri

-------------------------------------------------------