[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LilyPond C/C++ #include cleanup
From: |
Andreas Scherer |
Subject: |
LilyPond C/C++ #include cleanup |
Date: |
Tue, 16 Nov 2004 12:06:57 +0100 |
User-agent: |
KMail/1.7.1 |
Hello list,
Has anyone considered to apply Doxygen to the LilyPond sources? I'm aware
that the internal comments are not doxygen'erated, however, Doxygen is
capable to analyze plain C/C++ codes and to generate at least rudimentary
"documentation" in various output formats.
One of the major advantages is the creation of graphical displays of specific
aspects of a bundle of source codes, e.g., class hierarchy, class graphs, and
include/included-by graphs. With the tool doxywizard (1.3.9) I have created
a rudimentary "Doxyfile" and run Doxygen over the CVS content of current
LilyPond. This definition file is attached to this submission for those who
would like to apply Doxygen themselves.
Now, when I click through the HTML "documentation" and look at the images of
the include graphs, I find that many "#include" directives are redundant,
i.e., define transitive connections between header a/o source files (plus at
least one cyclic dependency between "flower/include/string.hh" and
"flower/include/international.hh"). It is common knowledge (John Lakos and
other experts come to mind) that the #include hierarchy can be an important
backbone of a C/C++ software system as well as an elementary entry point to
understanding such a system.
If there is interest in this group for such an improvement of the C/C++
sources of LilyPond, I would volunteer to make the necessary modifications,
i.e., to remove the superfluous #include directives, while guaranteeing the
correct compilability of the system. Any comments?
Cheers,
Andreas
Doxyfile.gz
Description: GNU Zip compressed data
- LilyPond C/C++ #include cleanup,
Andreas Scherer <=