Fred P. | 3 May 03:25 2004
Picon

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
generate more information on the SVG back-end.

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#,
(Continue reading)

Petr Prikryl | 3 May 16:31 2004
Picon

Windows binaries available for Doxygen-1.3.6-20040427 in CVS

Hi,

If interested, you can download the doxygen binaries
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. 
(Continue reading)

Stefan Kost | 6 May 17:28 2004
Picon

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

hi dimitri,

I wrote about this in an earlier poist (08.Dec.2003) but I guess it 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;
	...
};

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
(Continue reading)

Thomas Costa | 6 May 18:15 2004
Picon

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

You support both techniques.

Add an  <at> extends tag and also add a STRUCT_AUTOEXTEND_FIELD_NAME=xxx 
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,
>
> I wrote about this in an earlier poist (08.Dec.2003) but I guess it 
> 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;
> 	...
> };
>
(Continue reading)

Randall, Larry | 6 May 19:00 2004
Picon

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??

 

Format of header file:

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

/**

* 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

 

Picon

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, 13 KiB
Thomas Costa | 17 May 18:31 2004
Picon

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 
'style="white-space: no wrap"' instead of "nowrap" and I wanted to add 
a HTML_USE_CSS_NOWRAP boolean config switch to control it.
Cheers,
Tom Costa

-------------------------------------------------------
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!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
Chris Croughton | 18 May 16:09 2004
Picon

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!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
Dimitri van Heesch | 19 May 10:57 2004
Picon

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

-------------------------------------------------------
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!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
Petr Prikryl | 19 May 14:36 2004
Picon

Windows binaries available for Doxygen-1.3.7-20040517 in CVS

Hi,

If interested, you can download the doxygen binaries
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: 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!
http://ads.osdn.com/?ad_id%62&alloc_ida84&op=click