サブルーチン単位で多パターン論理検索機能を持つプログラム
(1).サブルーチン名出力
C言語ソースの場合は,検索パターンに一致する行が属する関数の名称を出力します。 C言語以外のファイルの場合は,KEYWORD.DATに設定されているキーワードによりサブルーチン名を出力します。
例えば,PASCALソースの場合は,「PROCEDUER」,「FUNCTION」をFORTRAN ソースの場合は,「SUBROUTINE」,「FUNCTION」と言うキーワードを KEYWORD.DATに設定しておけば,サブルーチン名を出力できます。
(2).論理パターン検索
二つのパターンを検索する時,その二つのパターンの論理関係を設定することができます。論理関係には,「AND」,「OR」,「NO」 があり,それらを任意に組み合わせて検索できます。
例: (FORTRANを例に説明します)
・ ABCと言うサブルーチンをコールしている行を検索したい時,
CALL & ABC
と設定します。
( 「AND」 検索)
・ ABCと言うサブルーチン以外のサブルーチンをコールする行を検索したい時,
CALL & !ABC
と設定します。( 「AND」,「NO」 検索)
・ ABCとEFDと言う変数の何方かがある行を検索したい時,
ABC + EFD
と設定します。( 「OR」 検索)
二つ以上のパターンを検索する時,パターン間の論理関係をあるファイルに設定しておいて,それにより検索することもできます。設定方法は上記と同じ様に一行に設定します。一行以上設定しても二行目以降は無視します。論理関係は,左論理に従います。つまり以下の例の様に
例:
IF & ABC + FOR & !IJK
と設定れば,"(((IF & ABC) + FOR) & !IJK)"と言う関係により検索します。
(3) 空白を含む文字列の検索
「"」 と「"」 で検索パターンを囲んだら, 空白を含む文字列の検索もできます。
検索パターンファイルを利用する場合,設定方法は,検索するパターンを「"?」と「?"」で囲みます。尚, この場合に, 「"?」と「?"」の間のものを全部検索パターンとなります(「?」または「"」 を含む文字列の検索もできます。)
例:
"?search "検索" word?" + "?ab?c jik?"
と設定したら,「search "検索" word」 又は 「ab?c jik」の何方かがある行を検索して出力します。