Doxygen is a tool for generating documentation from annotated C++ sources, but also supports other programming languages such as C, Python, Java, PHP and others
You can find manuals here
Free, Open Source Software
Permission to use, copy, modify, and distribute this software and its documentation is granted under the terms of the GNU General Public License. Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.