トップC-Tips > C言語ライブラリ関数の索引の自動作成

C言語ライブラリ関数の索引の自動作成

プログラムはなるべく独立性が高い小さいプログラムの組合せで実現することを目指すべきである。 ここでは、下に示すように、索引の作成プロセスを4ステップに分けて、 ステップ間をパイプでつなぐ。

list c:/mh/www .c; | lexer | countlibfunc | formater -h > c:/mh/www/prog-c.html

プログラムは全体で300行程度となった。

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

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

list.c

2. 字句解析

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

lexer.c

3. プログラム毎にC言語ライブラリ関数の参照回数を求める

字句解析結果を読込み、ライブラリ関数名を抽出し、標準出力(stdout)へ出力する。

countlibfunc.c

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

ライブラリ関数はDLL別に並び替える。DLL内では関数名をアルファベット順に並び替える。 そのライブラリ関数を使っているプログラム名は、参照回数が多い順に並び替える。 標準C言語ライブラリ関数については、関数仕様マニュアルへのリンクを張る。 いずれ、Win32API仕様へのリンクもはりたい。

formater.c