Thread: FW: [Doxygen-develop] Extracting more source struture in XML output
Brought to you by:
dimitri
From: <Pau...@no...> - 2004-10-05 20:45:49
|
I sent this mail some time ago about producing richer XML content of = source code. Can I ask what others have done in this area? In particular = I got a reply from someone on this list (Fred P. [j2...@ho...]) = whom I could not contact directly now. Doxygen's XML schema is a good starting point to add to if I want a = complete XML representation of the code, so I would like to add to it = rather than invent another schema. Also can anyone give me some pointers = where I would change the Doxygen code to output more source code = structure? Doxygen must know much of this information anyway, as it has = some more detailed information in the highlight elements of the source = file XML files. thanks paul -----Original Message----- From: dox...@li... [mailto:dox...@li...]On Behalf Of ext=20 Sent: 26 April, 2004 12:01 To: dox...@li... Subject: [Doxygen-develop] Extracting more source struture in XML output 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. This could = be used for more detailed metrics or a source browser for example, but = it also opens up more possibilities for independent tools that could use = the Doxygen XML output, e.g. code checking. This would enhance the = current rich informational representation of the code in XML. Paul Mackay ------------------------------------------------------- This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek For a limited time only, get FREE Ground shipping on all orders of $35 or more. Hurry up and shop folks, this offer expires April 30th! http://www.thinkgeek.com/freeshipping/?cpg=12297 _______________________________________________ Doxygen-develop mailing list Dox...@li... https://lists.sourceforge.net/lists/listinfo/doxygen-develop |
From: Chris C. <do...@ke...> - 2004-10-08 10:50:42
|
(Emailed to OP as well as to the list, the sourceforge list server was bouncing my mails, I don't know if it still is doing so...) On Tue, Oct 05, 2004 at 01:42:07PM -0700, Pau...@no... wrote: > Doxygen's XML schema is a good starting point to add to if I want a > complete XML representation of the code, so I would like to add to it > rather than invent another schema. Also can anyone give me some > pointers where I would change the Doxygen code to output more source > code structure? Doxygen must know much of this information anyway, as > it has some more detailed information in the highlight elements of the > source file XML files. I would very much like a C/C++ to XML translator, which seems to be what you are suggesting as a possibility (or an extreme version of what you are suggesting). As you say it opens up a lot of possibilities for extra tools, as well as for having doxygen produce internal documentation (like local variables, tables of which functions use which global variables (set and read), etc. It needs to be switchable, though. While I'm thinking about switches, it would be very useful to have options settable from the command line, not just in the configuration file. For some purposes I have to maintain three or more versions of the config file (implementer detail, user detail, overview, sometimes with or without relationship charts as well), a switch to set options would be a lot easier to put in a makefile with a common config file for all the messy stuff (include/exclude lists, etc.). Oh, and the version number. Or have I missed something which already allows this? Chris C |
From: Dimitri v. H. <di...@st...> - 2004-10-08 13:50:03
|
On Fri, Oct 08, 2004 at 11:50:25AM +0100, Chris Croughton wrote: > (Emailed to OP as well as to the list, the sourceforge list server was > bouncing my mails, I don't know if it still is doing so...) > > On Tue, Oct 05, 2004 at 01:42:07PM -0700, Pau...@no... wrote: > > > Doxygen's XML schema is a good starting point to add to if I want a > > complete XML representation of the code, so I would like to add to it > > rather than invent another schema. Also can anyone give me some > > pointers where I would change the Doxygen code to output more source > > code structure? Doxygen must know much of this information anyway, as > > it has some more detailed information in the highlight elements of the > > source file XML files. > > I would very much like a C/C++ to XML translator, which seems to be what > you are suggesting as a possibility (or an extreme version of what you > are suggesting). As you say it opens up a lot of possibilities for > extra tools, as well as for having doxygen produce internal > documentation (like local variables, tables of which functions use which > global variables (set and read), etc. It needs to be switchable, > though. Doxygen already produces XML. It could be improved to add more semantic information about the bodies of functions, for instance to indicate if something is a declaration, control statement, loop or assigment. Doxygen does not have this information explicitly available somewhere already even though it can do syntax highlighting and linking. > While I'm thinking about switches, it would be very useful to have > options settable from the command line, not just in the configuration > file. For some purposes I have to maintain three or more versions of > the config file (implementer detail, user detail, overview, sometimes > with or without relationship charts as well), a switch to set options > would be a lot easier to put in a makefile with a common config file for > all the messy stuff (include/exclude lists, etc.). Oh, and the version > number. Or have I missed something which already allows this? If you use a decent shell, you could use something like this: (cat Doxyfile ; echo "PROJECT_NUMBER=0.2") | doxygen - Regards, Dimitri |
From: Chris C. <do...@ke...> - 2004-10-08 14:33:08
|
On Fri, Oct 08, 2004 at 03:49:53PM +0200, Dimitri van Heesch wrote: > Doxygen already produces XML. It could be improved to add more semantic > information about the bodies of functions, for instance to indicate if > something is a declaration, control statement, loop or assigment. > Doxygen does not have this information explicitly available somewhere already > even though it can do syntax highlighting and linking. Yes, it's the bodies of functions that I (and the OP) was thinking of. I suspect that a general C/C++ to XML translator is more than Doxygen wants to contain, however (let alone any other supported languages). > > While I'm thinking about switches, it would be very useful to have > > options settable from the command line, not just in the configuration > > file. For some purposes I have to maintain three or more versions of > > the config file (implementer detail, user detail, overview, sometimes > > with or without relationship charts as well), a switch to set options > > would be a lot easier to put in a makefile with a common config file for > > all the messy stuff (include/exclude lists, etc.). Oh, and the version > > number. Or have I missed something which already allows this? > > If you use a decent shell, you could use something like this: > > (cat Doxyfile ; echo "PROJECT_NUMBER=0.2") | doxygen - Ah, taking the config stuff from stdin was something I had missed, thanks. Yes, that would work fine, as would piping it through sed to change options. Or rules setting up an additional file and then cat-ing both of them into doxygen. What does Doxygen do if the same option occurs more than once? Take the last? That would make an easy way to override options for special cases. Thanks, Chris C |
From: Dimitri v. H. <di...@st...> - 2004-10-08 16:47:25
|
On Fri, Oct 08, 2004 at 03:32:51PM +0100, Chris Croughton wrote: > On Fri, Oct 08, 2004 at 03:49:53PM +0200, Dimitri van Heesch wrote: > > If you use a decent shell, you could use something like this: > > > > (cat Doxyfile ; echo "PROJECT_NUMBER=0.2") | doxygen - > > Ah, taking the config stuff from stdin was something I had missed, > thanks. Yes, that would work fine, as would piping it through sed to > change options. Or rules setting up an additional file and then cat-ing > both of them into doxygen. > > What does Doxygen do if the same option occurs more than once? Take the > last? That would make an easy way to override options for special > cases. It will indeed take the last. To append to an option instead of overriding it you can use OPTION += value. Regards, Dimitri |
From: Chris C. <do...@ke...> - 2004-10-08 16:53:40
|
On Fri, Oct 08, 2004 at 06:47:21PM +0200, Dimitri van Heesch wrote: > On Fri, Oct 08, 2004 at 03:32:51PM +0100, Chris Croughton wrote: > > > > What does Doxygen do if the same option occurs more than once? Take the > > last? That would make an easy way to override options for special > > cases. > > It will indeed take the last. To append to an option instead of overriding it > you can use OPTION += value. I can see I'm going to have fun with some makefiles. Better than my idea of having command-line switches. I can just set things up to append to the temporary control file as it runs through the make, then cat it on the end of the base one into doxygen... Thanks, Chris C |