Doxygen is a documentation system for C++, Java, IDL (Corba, Microsoft and
KDE-DCOP flavors) and C.

It can help you in three ways:

   1. It can generate an on-line documentation browser (in HTML) and/or an
      off-line reference manual (in LaTeX) from a set of documented source
      files. There is also support for generating output in RTF (MS-Word),
      PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The
      documentation is extracted directly from the sources, which makes it
      much easier to keep the documentation consistent with the source code.

   2. Doxygen can be configured to extract the code structure from
      undocumented source files. This can be very useful to quickly find your
      way in large source distributions. The relations between the various
      elements are be visualized by means of include dependency graphs,
      inheritance diagrams, and collaboration diagrams, which are all
      generated automatically.

   3. You can even `abuse' doxygen for creating normal documentation

Homepage:
https://www.doxygen.nl/
