Strobeによるインデックス付け

アセンブラー

アセンブラー言語用のインデクサーは、ラベル付き実行可能ステートメントで始まり、次のラベル付き実行可能ステートメントの前のステートメントで終わるソース テキスト ステートメントのシーケンスを、1つのプロシージャーとして処理します。このインデクサーは、最初のステートメントの名前フィールドにあるシンボルをプロシージャー名として使用します。同じ場所に複数のシンボルが割り当てられている場合には、行番号が最も大きいステートメントの名前フィールドに表示されるシンボルをプロシージャー名として使用します。

タイトル バーのパーセンテージの値は、モジュールによって呼び出されたすべてのサービス ルーチンを除いた、モジュールの活動の合計を表します。

またインデクサーは、ORGステートメントの直後にあるラベルなしのステートメント シーケンスもプロシージャーとしてみなし、3つのアスタリスクとORGステートメント直後のステートメントの命令コードから成るプロシージャー名を作成します。

Strobeは、レポート作成時にアセンブラー言語のプロシージャーをコード ブロックに分割する際、分岐命令の直後でプロシージャーを分割し、そのコード ブロックを分岐直後の命令コードで識別します。

COBOL

COBOL言語用のインデクサーは、各段落をプロシージャーとしてみなし、段落名をプロシージャー名に使用します。またこのインデクサーは、セクション名と段落名の間にあるステートメントもプロシージャーとしてみなし、セクション名をプロシージャー名に使用します。段落名に先行する1つまたは複数のセクション名が、コードを生成するステートメントに介在しない場合、最も小さい行番号のセクション名がレポートの切れ目になります。

タイトル バーのパーセンテージの値は、モジュールによって呼び出されたすべてのサービス ルーチンを除いた、モジュールの活動の合計を表します。

Strobeは、レポート作成時にCOBOLプロシージャーをコード ブロックに分割する際、COBOL命令の地点でプロシージャーを分割し、その命令をコード ブロックを示すラベルとして使用します。

FORTRAN

FORTRAN言語用のインデクサーは、番号付き実行可能ステートメントで始まり、次の番号付き実行可能ステートメントの前のステートメントで終わるソース テキスト ステートメントのシーケンスを、1つのプロシージャーとして解釈します。このインデクサーは、前にSTMT.LABELが付いたステートメント番号を、FORTRANステートメント テキストとして使用します。

タイトル バーのパーセンテージの値は、モジュールによって呼び出されたすべてのサービス ルーチンを除いた、モジュールの活動の合計を表します。

Strobeは、レポート作成時にFORTRANのプロシージャーをコード ブロックに分割する際、コンパイラーによって生成された内部ステートメント番号(通常、内部生成された分岐命令の対象に対応)でコード ブロックにラベルを付けます。

PL/I

PL/I言語用のインデクサーは、ラベル付きステートメントまたは制御が渡される実行可能ステートメントで始まり、次の同様のステートメントまで続行するステートメント テキストを、1つのプロシージャーとして処理します。

タイトル バーのパーセンテージの値は、モジュールによって呼び出されたすべてのサービス ルーチンを除いた、モジュールの活動の合計を表します。

通常、ステートメント ラベル以外のプロシージャーの境界は、BEGINおよびON-UNITブロック、PL/Iプロシージャー、DOグループ、IFステートメントの代替手段などの始まりと終わりの境界に一致します。

C

制御セクションが指定プロシージャーの一部である場合、Cインデクサーはプロシージャー名を使用します。制御セクションが「専用コード」の一部である場合、Cインデクサーは最初のセクションに$PRIVATE、2番めに$PRI0000、3番めに$PRI0001などの名前を割り当てます。この名前は、制御セクションのCESDID(複合外部記号辞書識別子)と同じ順番で割り当てられます。StrobeとCESDIDの命名規則が一致するようにするには、Cリスト データセットをリンクエディットされるのと同じ順番でCインデクサーに指定します。