Me, too! Me, too! :-)
AutoGen is now an official GNU tool & it includes
an extractor not only useful for documentation, but
just about everything else tied to entries in a source
file. Since it antedates many of the other tools
mentioned, it also uses slightly different syntax.
But it is surprisingly similar:
XXX /*=entry-type name-of-entry, ifdef DEFINE_NAME
XXX * attribute-name: value of attribute
XXX =*/
In this example, "XXX" can be anything at all, just
in case C-style comments are not accepted in the
source language. e.g. ``dnl'' or ``#''
And, of course, the "ifdef" stuff is optional.
The extracted name-value pairs can then be inserted
into any arbitrary output document to produce header
files, documents, code, tables what-have-you.