Sun WorkShop の概要 ホーム目次前ページへ次ページへ索引


第 5 章

ソースコードのブラウズ

Sun WorkShop では、C、C++、Fortran 77、Fortran 95 ソースコードをブラウズするためのモードとして、パターン検索とソースブラウズの 2 つのモードが用意されています。パターン検索モードでは、ソースコードから、コメント内のテキストなどの任意の文字列を検索できます。ソースブラウズモードでは、プロジェクトを作成または編集するときにソースブラウズ情報を作成するように指定することによって作成されたソースブラウズ用データベースを使用して、ソースコードから任意のプログラム定義シンボルに一致するものをすべて検索できます。問い合わせに一致するものは、その前後のソースコードとともに、「ブラウズ」ウィンドウの一致区画に表示されます。

プログラム内の関数やサブルーチンの関係をグラフ表示することもできます。ソースコードが C++ で書かれている場合は、プログラムに定義されているクラスをブラウズして、グラフ表示できます。

具体的な手順とブラウズについての詳細は、オンラインヘルプを参照してください (オンラインヘルプには、Sun WorkShop のどのウィンドウからでも「ヘルプ」メニューまたは「ヘルプ」ボタンでアクセスできます)。

パターン検索モード

パターン検索機能は、現在のディレクトリまたは sb_init ファイルに指定されているインポートディレクトリから、コメント内のテキストなどの任意の文字列を検索します (sb_init ファイルと複数ディレクトリの検索については、オンラインヘルプを参照)。

パターン検索機能は、次のような場合に使用します。

パターン検索機能は、grep 構文を利用し、「ブラウズ」ウィンドウの「パターン」フィールドに入力された文字列に一致するものを探します (図 5-1 を参照)。詳細は、オンラインヘルプを参照してください。


図 5-1   パターン検索モードでの「ブラウズ」ウィンドウ

パターン検索で使用できる特殊文字

「パターン」フィールドでは、ソースコードに入力されているとおりに文字列を入力することも、特殊文字 (ワイルドカード) 文字を使用してパターンを指定することもできます。表 5-1 に、「ブラウズ」ウィンドウの「パターン」フィールドで使用できる特殊文字をまとめます。

表 5-1   パターン検索で使用できる特殊文字
文字 意味
ピリオド (.) 任意の 1 文字 l.neslaneslines のどちらにも一致
アスタリスク (*) * の前に指定された文字を含む任意の文字列 (パターンの最初の文字として使用された場合を除く) file.*()file を含み、任意の文字と ()を伴う文字列に一致
(traffic_file_close()など)。*file は、file で始まる文字列にのみ一致
サーカムフレックス (^) 行頭で一致 ^tr* は、traffictruck などのtr で始まる行に一致
ドル記号 ($) 行末で一致 lanes$ は、lanes で終わる行に一致
バックスラッシュと左小なり括弧 (\<) 語頭で一致 \<getget_foobar に一致し、widget には一致しない。
バックスラッシュと大なり括弧 (\>) 語尾で一致 \<String\>String *foo に一致し、XmStringCreate() には一致しない。


サーカムフレックスとドル記号で問い合わせ内容を囲むと、その問い合わせ内容に行全体が一致するものが検索されます。

詳細は、オンラインヘルプを参照してください。

複数ディレクトリの検索

パターン検索では、sb_init テキストファイルを使用し、複数のディレクトリに分散しているソースファイルに対して検索を行うことができます。具体的な手順については、オンラインヘルプを参照してください。

ソースブラウズモードの使用方法

ソースブラウズモードでは、問い合わせが発行されると、ブラウズ中のソースファイルに関する情報が格納されているデータベースを使用して検索が行われます。ソースブラウズモードは、次のような場合に利用します。

図 5-2 は、ソースブラウズモードでの「ブラウズ」ウィンドウを示しています。


図 5-2   ソースブラウズモードのときの「ブラウズ」ウィンドウ

ソースブラウズ用データベース

Sun WorkShop は、プログラムの静的構造に関する情報が含まれているデータベースからブラウズ情報を取得します。ブラウザがどのように機能するかは、アクセスするデータベースによって異なります。Sun WorkShop には、次のデータベースオプションがあります。

ソースブラウズで使用できる特殊文字

「一致」フィールドでは、ソースコードに入力されているとおりに名前や関数を入力することも、特殊文字 (ワイルドカード) 文字を使用して文字列を指定することもできます。

表 5-2 に、「ブラウズ」ウィンドウの「一致」フィールドで使用できる特殊文字をまとめます。

表 5-2   ソースブラウズで使用できる特殊文字
文字 意味
ピリオド (.) 任意の 1 文字 .ehicle は、vehicleVehicle のどちらにも一致。
アスタリスク (*) * の前に指定された文字列を含む任意の文字数の文字列 vehi* は、 vehicle_length() などの vehi で始まる任意の文字列に一致。vehi.* は、veh. に一致するが、vehicle_length() には一致しない。


詳細は、オンラインヘルプを参照してください。

複数ディレクトリのブラウズ

ユーザーメークファイルプロジェクトを除く全プロジェクトの場合 : プロジェクトを作成または編集するとき、コンパイル中にソースブラウズ用の情報を作成するように指定すると、すべてのブラウズディレクトリがマージされます。このようにして、パターン検索またはソースブラウズモードで検索すると、プロジェクト内のすべてのソースディレクトリが自動的に検索されます。詳細は、オンラインヘルプを参照してください。

ユーザーメークファイルプロジェクトの場合 : ソースファイルが複数のディレクトリに分散している場合は、通常は、それぞれのディレクトリでコンパイラを実行することになります。デフォルトでは、コンパイラはそれらのディレクトリごとにソースブラウズ用データベースを作成します。Sun WorkShop は一度に 1 つのデータベースしかブラウズしないため、検索されるのは、現在のディレクトリに存在するアプリケーション部分だけです。このデフォルトの動作は、データベースをインポートすることによって変更できます。データベースをインポートする具体的な手順については、オンラインヘルプを参照してください。

ブラウズとグラフ表示の関係

図 5-3 は、「ブラウズ」ウィンドウと「コールグラフ」ウィンドウ、「クラスグラフ」ウィンドウ、「クラスブラウザ」ウィンドウの相互関係を示しています。


図 5-3   ブラウズ、クラスグラフ、クラスブラウザの相互関係

関数のグラフ表示

「コールグラフ」ウィンドウでは、ANSI C、C++、Fortran で書かれたプログラム内の関数の関係をグラフ表示できます。1 つ以上の関数を選択して、その呼び出し元と呼び出し先の関数を表示できます。「コールグラフ」ウィンドウは、関数とサブルーチンの呼び出し関係をグラフィカルに表示する手段です。具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。

関数の関係を表示するには、ソースブラウズ用データベースが必要です (「ソースブラウズ用データベース」を参照)。


注 - Sun WorkShop では、仮想関数の関係もグラフ表示できますが、実際に呼び出される関数を特定することはできません。たとえば、mainb::d() という仮想関数を呼び出し、この仮想関数が実際には b1::d() または b2::d() のいずれも呼び出せる場合、Sun WorkShop が呼び出される関数を特定することはできません。グラフのウィンドウには、mainb::d() を呼び出す関係は示されますが、mainb1::d()mainb2::d() の関係は示されません。

「コールグラフ」ウィンドウ内のノードの背景、コールグラフ区画の背景、ノードのボックスの枠、ノードのボックス内のテキスト、ノード間の矢印に使用する色を変更するには、WORKSHOP リソースファイルを編集します (「「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの色」を参照)。色の設定を変更すると、「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの両方にその設定が適用されます。

図 5-4は、「コールグラフ」ウィンドウを示しています。

図 5-4   「コールグラフ」ウィンドウ

クラスのグラフ表示

「クラスグラフ」ウィンドウを使用して、C++ プログラムのクラスの継承構造をグラフ表示 できます。具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。

「クラスグラフ」ウィンドウ内のノードの背景、クラスグラフ区画の背景、ノードのボックスの枠、ノードのボックスのテキスト、ノード間の矢印に使用する色を変更する場合は、WORKSHOP リソースファイルを編集します。色の設定を変更すると、「クラスグラフ」ウィンドウと「コールグラフ」ウィンドウの両方にその設定が適用されます。色の変更については、「「コールグラフ」ウィンドウと「クラスグラフ」ウィンドウの色」を参照してください。

図 5-5 は、「クラスグラフ」ウィンドウを示しています。

図 5-5   「クラスグラフ」ウィンドウ

クラスのブラウズ

クラスブラウザでは、次のことを行えます。

「クラスブラウザ」ウィンドウでは、クラスやそのメンバー関数、フレンド関数に関する情報を表示できます。ソースコードとライブラリ内のクラスをナビゲートすることによって、クラスがどのように定義、使用されているかを確認できます。

「クラスブラウザ」ウィンドウ (図 5-6) を開くと、現在のソースブラウズ用データベースに格納されている Class 型または Struct 型のクラスすべてを一覧表示できます。「項目」リストの右横にある 2 つのチェックボックスを使用し、表示内容 (クラスの型すべて、クラスと構造体のみ、共用体のみ) を切り替えられます。

具体的な使用手順とその他の情報については、オンラインヘルプを参照してください。

図 5-6   「クラスブラウザ」ウィンドウ

ブラウズの終了

ブラウズの処理を終了して、ブラウズ用のすべてのウィンドウを閉じるには、「ブラウズ」ウィンドウから「ブラウズ」 「ブラウズ終了」を選択します。処理を強制終了せずに「ブラウズ」ウィンドウだけを閉じる場合は、「ブラウズ」 「閉じる」を選択します。


サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.
ホーム   |   目次   |   前ページへ   |   次ページへ   |   索引