>319
全然要求満たしてないけど、叩き台に。
C/C++用、inputは余計なコード書いてないヘッダファイルのみ

#!/usr/bin/perl -Pn
/^namespace\s*(\w+)/ && ($ns=$1);
/\#include\s*[<"](.+)[">]/ && push(@inc, $1);
/^class\s+(\w+)\s*\:?/ && push(@cls, $1);
/(([\w\s\*]+)(\w+)\s*\((.+)\))/ && push(@memf, $1); # メンバ関数
/(([\w\s\*]+)(\w+));/ && push(@memv, $1); # メンバ変数
END{ print join("\n", $., $ns, "@inc","@cls","@memf", "@memv"),"\n" }


JAVAはリフレクションがあるし、classファイルのフォーマットも公開されてるので
別のアプローチでやってみると面白いかも知れない。(javapやClassBrowserが既にあるけど)