トップC-Tips > Javaクラス索引の自動生成

Javaクラス索引の自動生成

C言語関数索引の自動生成と同様に、 下に示すように、索引の作成プロセスを4ステップに分けて、 ステップ間をパイプでつなぐ。

list c:/mh/www .java; | lexer | countclass | formater3 -h > c:/mh/www/prog-java.html

listとlexerは関数索引の場合と全く同じプログラムである。 後段の2プログラムは合わせて180行程度となった。

1. Javaソースプログラムファイルの再帰探索

第1引数(コマンドパラメータ)で指定されたディレクトリを 再帰的にスキャン(探索)して、 第2引数で指定された拡張子を持つ、ファイルのフルパス名を標準出力 (stdout)へ出力する。

list.c

2. 字句解析

標準入力(stdin)からJavaプログラムソースファイルのパス名を順に読み込み、 字句解析した結果を標準出力(stdout)へ出力する。

lexer.c

3. プログラム毎にクラスの参照回数を求める

今回のプログラムでは、new に続くものをクラス名とした。 このほか、System.out.printlnのように、スタティックメソッドのコールでもクラス名が登場するが、 今回は、無視している。 字句解析結果を読込み、クラス名名を抽出し、標準出力(stdout)へ出力する。

countclass.c

4. 結果の並び替えとHTML化

クラス名をアルファベット順に並び替える。 マニュアルへのリンクを張る。

formater3.c