"エディタでソースファイルが開かれた際に、前記ソースファイルをアクティブソースファイルとして検出する監視手段と、前記監視手段がアクティブソースファイルを検出した際に、前記アクティブソースファイルを解析して、前記アクティブソースファイルから参照可能な定義データに関する情報を取得する解析手段と、前記解析手段が取得した定義データに関する情報を補助画面に表示する補助画面表示手段と、を備えることを特徴とするソースファイル再利用支援装置。前記監視手段は、前記エディタで開かれたソースファイルに変更が加えられたことを検知し、前記解析手段は、前記監視手段がソースファイルの変更を検知した際に、前記ソースファイルを解析して、前記ソースファイルから参照可能な定義データに関する情報を再取得する、ことを特徴とする請求項1に記載のソースファイル再利用支援装置。前記定義データは、前記アクティブソースファイル内で定義されているローカル定義データと、前記アクティブソースファイルから参照可能な他のソースファイル内で定義されている外部定義データとを含み、前記解析手段は、前記ローカル定義データに関する情報と、前記外部定義データに関する情報とを取得し、前記補助画面表示手段は、前記解析手段が取得した前記ローカル定義データに関する情報と前記外部定義データに関する情報とを区分して補助画面に表示する、ことを特徴とする請求項1又は2に記載のソースファイル再利用支援装置。前記アクティブソースファイルに所定文字数以上の文字列が入力されたことを検出する入力監視手段と、前記入力監視手段が所定文字数以上の文字列の入力を検出した際に、前記解析手段が取得した情報を検索して該文字列に前方一致する前記定義データの名称を取得する入力候補解析手段と、前記入力候補解析手段が取得した定義データの名称を、前記アクティブソースファイルへの入力の候補として、ユーザが選択可能に表示する入力候補表示手段と、をさらに備える、ことを特徴とする請求項1乃至3の何れか1項に記載のソースファイル再利用支援装置。前記補助画面に表示されている定義データに関する情報に変更が加えられた際に、該定義データを定義、及び、利用するソースファイルの部分を、加えられた変更内容と同様に変更する変更内容反映部をさらに備える、ことを特徴とする請求項1乃至4の何れか1項に記載のソースファイル再利用支援装置。ソースファイル内の各関数の定義部分を比較して、複数の関数の間で処理内容が共通する部分を共通処理部分として検出する関数比較手段と、前記関数比較手段が検出した共通処理部分が示す処理を関数化した共通処理関数を生成する共通処理関数生成手段と、前記複数の関数の定義部分のうち前記共通処理部分があった部分を、前記共通処理関数を呼び出す部分に置換する置換手段と、を備えることを特徴とするソースファイル再利用支援装置。前記関数比較手段は、前記複数の関数の間で処理内容が共通する部分を所定の基準と比較することで該共通する部分を共通化することの有用性を判別し、有用性があると判別した場合に、該共通する部分を共通処理部分として検出する、ことを特徴とする請求項6に記載のソースファイル再利用支援装置。エディタで開かれたソースファイル、又は、エディタで変更が加えられたソースファイルをアクティブソースファイルとして検出し、前記アクティブソースファイルを検出した際に、前記アクティブソースファイルを解析して、前記アクティブソースファイルから参照可能な定義データに関する情報を取得し、取得した定義データに関する情報を補助画面に表示する、ことを特徴とするソースファイル再利用支援方法。ソースファイル内の各関数の定義部分を比較して、複数の関数の間で処理内容が共通する部分を共通処理部分として検出し、検出した共通処理部分が示す処理を関数化した共通処理関数を生成し、前記複数の関数の定義部分のうち前記共通処理部分があった部分を、前記共通処理関数を呼び出す部分に置換する、ことを特徴とするソースファイル再利用支援方法。コンピュータを、エディタで開かれたソースファイル、又は、エディタで変更が加えられたソースファイルをアクティブソースファイルとして検出する監視手段、前記監視手段がアクティブソースファイルを検出した際に、前記アクティブソースファイルを解析して、前記アクティブソースファイルから参照可能な定義データに関する情報を取得する解析手段、前記解析手段が取得した定義データに関する情報を補助画面に表示する補助画面表示手段、として機能させるプログラム。コンピュータを、ソースファイル内の各関数の定義部分を比較して、複数の関数の間で処理内容が共通する部分を共通処理部分として検出する関数比較手段、前記関数比較手段が検出した共通処理部分が示す処理を関数化した共通処理関数を生成する共通処理関数生成手段、前記複数の関数の定義部分のうち前記共通処理部分があった部分を、前記共通処理関数を呼び出す部分に置換する置換手段、として機能させるプログラム。しかしながら、このような技術は開発前のプログラム全体の構造を解析する構造調査で利用されるのが一般的である。従って、プログラムを実装コーディングする際には、構造調査で出力された資料から関連する部分を人が手作業で探して既存関数を流用できるか否かを検討する必要があり、調査結果の有効な活用が出来ていなかった。本発明は、上記実情に鑑みてなされたものであり、プログラムの実装中に、好適に既存プログラムの再利用を支援することができるソースファイル再利用支援装置、ソースファイル再利用支援方法、及び、プログラムを提供することを目的とする。上記目的を達成するため、本発明のソースファイル再利用支援装置は、エディタでソースファイルが開かれた際に、前記ソースファイルをアクティブソースファイルとして検出する監視手段と、前記監視手段がアクティブソースファイルを検出した際に、前記アクティブソースファイルを解析して、前記アクティブソースファイルから参照可能な定義データに関する情報を取得する解析手段と、前記解析手段が取得した定義データに関する情報を補助画面に表示する補助画面表示手段と、を備えることを特徴とする。本発明によれば、エディタでソースファイルが開かれた際、又は、エディタでソースファイルに変更が加えられた際に、このソースファイルの解析がなされる。従って、プログラムの実装中に、好適に既存プログラムの再利用を支援することができる。以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。また、特に言及が無い場合、ソースファイルソースコードはC言語で記載されているものとして説明する。本発明の第1の実施形態に係るソースファイル再利用支援装置100について説明する。このソースファイル再利用支援装置100は、既存のソースファイルソースコード内で定義されている関数や変数等の再利用流用を支援するための装置である。ソースファイル再利用支援装置100は、物理的には、図1に示すように、通信部11と、操作部12と、表示部13と、記憶部14と、入出力I/F部15と、制御部16と、を備える。各部はバス17を介して互いに接続されている。通信部11は、通信ネットワーク2を介して、ネットワーク2上の図示せぬ情報処理装置等と通信を行うものであり、通信インタフェース等を備える。例えば、通信部11は、再利用の対象とするソースファイル等を、これらネットワーク2上の情報処理装置から受信してもよい。操作部12は、ソースファイル再利用支援装置100に様々な情報を入力するために使用するものであり、キーボード等の入力装置を備える。表示部13は、様々な情報を出力するものであり、液晶ディスプレイ等の表示装置を備える。また、表示部13には、エディタ画面131と補助画面132とが表示される。エディタ画面131は、ソースファイルを実装コーディング用の専用のエディタで開いた際に表示される画面であり、エディタ画面131上から、ソースファイルを編集等することが可能である。補助画面132は、エディタ画面131に表示されているソースファイル内から参照可能な関数、変数、定数等に関する各種の情報が表示される画面である。補助画面132の詳細については後述する。記憶部14は、様々な情報、プログラム、及び、ソフトウェア開発ツールやエディタなどのアプリケーション等を記憶するものであり、ハードディスク等の補助記憶装置を備える。入出力I/F部15は、入出力機器3を接続するためのインタフェースである。例えば、処理の対象となるソースファイルを、通信部11ではなく、入出力I/F部15を介して、CD-ROMドライブ等の入出力機器3から取り込むこともできる。制御部16は、データの演算処理を行うと共に、バス17を介して通信部11、操作部12、出力部13、記憶部14、入出力I/F部15を制御するものであり、CPUCentralProcessingUnit16a、ROMReadOnlyMemory16b、RAMRandomAccessMemory16c等を備える。制御部16における演算処理及び制御処理は、具体的には、CPU16aが、RAM16cを作業領域として使用して各種データを一時的に記憶させながら、ROM16bに記憶されている制御プログラムを実行することにより行われる。ソースファイル再利用支援装置100は、機能的には、図2に示すように、ソースファイル格納部21と、解析対象監視部22と、ファイル解析部23と、エディタ画面制御部24と、入力候補解析部25と、補助画面制御部26と、解析結果格納部27とを備える。なお、これらの各構成要素のうち解析対象監視部22と、ファイル解析部23と、エディタ画面制御部24と、入力候補解析部25と、補助画面制御部26とは、図1に示した制御部16が、同じく図1に示した通信部11、操作部12、出力部13、記憶部14、又は入出力I/F部15を制御することにより実現される。また、ソースファイル格納部21と解析結果格納部27とは、図1に示す記憶部14により主に実現される。ソースファイル格納部21には、再利用の対象となるソースファイルが格納されている。なお、各ソースファイルは、機能やプロジェクトやライブラリ等に対応したフォルダ毎に格納されており、ソースファイル格納部21には、ソースファイルが格納されているフォルダの構成情報も含めて記憶されている。また、ソースファイルが格納されるフォルダのなかから指定フォルダが設定される。ソースファイルで定義されている外部変数と外部関数は、指定フォルダおよび指定フォルダ以下のフォルダ内の他のソースファイルからのみ参照可能となる。ここで、図3を参照して、フォルダとソースファイルとの関係について説明する。フォルダAには、ソースファイルaaa.c、bbb.c、ccc.c、及び、フォルダB、Cが格納されている。また、フォルダB、Cには、それぞれ、ソースファイルddd.c、eee.cとソースファイルfff.c、ggg.cとが格納されている。また、例えば、フォルダAが指定フォルダに設定されている場合は、この図の全てのソースファイル間で、外部変数、外部関数を参照可能である。図2に戻り、解析対象監視部22は、フォルダ監視部221と、ソースファイル監視部222とを備える。フォルダ監視部221は、ソースファイル格納部21内のソースファイルが格納されているフォルダを監視して、指定フォルダが新たに設定された場合、または、指定フォルダの変更があった場合に、その旨をファイル解析部23に通知する。ソースファイル監視部222は、ソースファイル格納部21内のソースファイルを監視し、エディタで開かれた、又は、エディタ上で変更が加えられたソースファイルアクティブソースファイルを検知し、その旨をファイル解析部23に通知する。ファイル解析部23は、フォルダ解析部231と、ソースファイル解析部232とを備える。フォルダ解析部231は、フォルダ監視部221によって通知された指定フォルダ以下に格納されている全てのソースファイル内で定義されている関数や変数や定数等に関する情報を取得し、フォルダデータ格納部に格納する。なお、本実施形態では、define構文で定義されているものを定数として扱う。ソースファイル解析部232は、ソースファイル監視部222によって通知されたアクティブソースファイルを解析して、アクティブソースファイル内から参照可能な、関数や変数等の定義データに関する情報を取得する。この際、フォルダ解析部231は、アクティブソースファイル内で定義された定義データローカル定義データと、アクティブソースファイル以外のソースファイルで定義された定義データ外部定義データとを区別して各定義データに関する情報を取得し、取得した情報を解析結果格納部27のローカルデータ格納部271および外部データ格納部272に格納する。エディタ画面制御部24は、エディタでソースファイルを開いた際に表示部13に表示されるエディタ画面131の表示を制御する。エディタ画面制御部24は、ファイル内容表示部241と、入力データ監視部242と、入力候補表示部243とを備える。ファイル内容表示部241は、エディタ画面制御部24の主要な機能を担い、エディタ画面131に表示されるソースファイルの内容を制御する。例えば、ファイル内容表示部241は、ユーザからの操作に応じて、エディタ画面131に表示されているソースファイルをスクロールさせたり、ハイライト表示させたりする表示制御を行う。入力データ監視部242は、エディタ画面131に表示されているソースファイルへの入力を監視し、所定文字数以上例えば、3文字以上のスペースを含まない連続した文字列の入力が有った際に、その文字列を入力候補解析部25に出力する。入力候補表示部243は、入力候補解析部25によって検出された現在入力中の文字列に対応する入力の候補を、エディタ画面131上に表示する。図2に戻り、入力候補解析部25は、入力データ監視部242から入力された文字列で入力候補格納部274内のローカル候補リスト274aと外部候補リスト274bとを検索し、入力の候補となる関数や変数の一覧を取得する。補助画面制御部26は、補助画面132の表示を制御する。また、補助画面制御部26は、ローカルデータ表示部261と、外部データ表示部262と、フォルダデータ表示部263とを備える。ローカルデータ表示部261は、ローカルデータ格納部271に格納されている情報を補助画面132に表示するための制御を行う。外部データ表示部262は、外部データ格納部272に格納されている情報を補助画面132に表示するための制御を行う。フォルダデータ表示部263は、フォルダデータ格納部273に格納されている情報を補助画面132に表示するための制御を行う。解析結果格納部27には、ファイル解析部23と入力候補解析部25とによって解析された解析結果が格納される。解析結果格納部27は、ローカルデータ格納部271と、外部データ格納部272と、フォルダデータ格納部273と、入力候補格納部274とを備える。ローカルデータ格納部271には、ソースファイル解析部232によって取得されたローカル定義データに関する情報が記憶される。具体的には、ローカルデータ格納部271には、アクティブソースファイル内で定義された関数、変数、及び、定数に関する情報のリストローカル関数リスト271a、ローカル変数リスト271b、ローカル定数リスト271cが格納される。なお、関数に関する情報は、例えば、関数名、処理概要、引数の型、及び、戻り値の型等を示す情報である。また、変数に関する情報は、例えば、変数名、変数の内容、及び、変数の型等を示す情報である。また、定数に関する情報は、例えば、定数名、定数の内容、及び、定数の値等を示す情報である。外部データ格納部272には、ソースファイル解析部232によって取得された外部定義データに関する情報が記憶される。具体的には、外部データ格納部272には、アクティブソースファイル以外のソースファイルで定義され、且つ、アクティブソースファイルから外部参照可能な関数、変数、及び、定数に関する情報のリスト外部関数リスト272a、外部変数リスト272b、外部定数リスト272cが格納される。フォルダデータ格納部273には、フォルダ解析部231によって取得された情報が記憶される。具体的には、フォルダデータ格納部273には、指定フォルダ以下に格納されている全てのソースファイル内で定義されている関数、変数、及び、定数に関する情報のリスト全関数リスト273a、全変数リスト273b、全定数リスト273cが格納される。入力候補格納部274には、入力候補解析部25によって取得された入力の候補となる関数や変数のリストローカル候補リスト274a、外部候補リスト274bが格納される。続いて、ソースファイル再利用支援装置100の動作について説明する。指定フォルダ解析処理始めに、指定フォルダ内のソースファイルを解析する指定フォルダ解析処理について説明する。ユーザは、例えば、ソースファイル再利用支援装置100の操作部12を操作して、IDEIntegratedDevelopmentEnvironment等のプログラム開発ツールのメニュー画面から指定フォルダ設定メニューを開き、指定フォルダを新たに指定したり、指定フォルダを変更するための操作を行う。フォルダ監視部221は、常時あるいは定期的に、指定フォルダを監視しており、指定フォルダが新たに作成されたり、又は、変更された場合、その旨をフォルダ解析部231に通知する。フォルダ解析部231は、フォルダ監視部221からの通知に応答して、図4のフローチャートに示す指定フォルダ解析処理を実行する。指定フォルダ解析処理が実行されると、まず、フォルダ解析部231は、フォルダデータ格納部273に格納されている全関数リスト273a、全変数リスト273b、全定数リスト273cをクリアするステップS101。続いて、フォルダ解析部231は、フォルダ監視部221から、新たに設定された、又は変更されたと通知された指定フォルダおよび指定フォルダ以下のフォルダに格納されているソースファイルのなかから、未処理のソースファイルを1つ選択するステップS101。続いて、フォルダ解析部231は、選択したソースファイルを解析して、ソースファイル内で定義されている関数を抽出するステップS101。そして、フォルダ解析部231は、抽出した関数毎に、関数名、処理概要、引数の型、戻り値の型、等の情報を取得し、所定の形式例えば、CSVCommaSeparatedValues形式でリスト化した全関数リスト273aを作成して、フォルダデータ格納部273に登録するステップS102。なお、既に全関数リスト273aが存在している場合、フォルダ解析部231は、全関数リスト273aに取得した情報を追加する。なお、関数の抽出、および、抽出した関数の関数名、引数及び戻り値の型等の取得は、ソースファイルを公知の手法により構文解析することで実現可能である。また、関数の処理概要は、予め決められたルールに基づいて、関数定義文の直前のコメント文等から取得すればよい。続いて、フォルダ解析部231は、選択したソースファイルを解析して、このソースファイル内で定義されている変数を抽出するステップS101。そして、フォルダ解析部231は、抽出した各変数の、変数名、概要、型等の情報を取得し、所定の形式でリスト化した全変数リスト273bを作成して、フォルダデータ格納部273に登録するステップS102。なお、既に全変数リスト273bが存在している場合、フォルダ解析部231は、全関数リスト273aに取得した情報を追加する。なお、変数の抽出、および、抽出した変数の変数名、型等の取得は、ソースファイルを公知の手法により構文解析することで実現可能である。また、変数の概要等の情報は、予め決められたルールに基づいて、変数定義文の直前のコメント文等から取得すればよい。続いて、フォルダ解析部231は、選択したソースファイルを解析して、このソースファイル内で定義されている定数を抽出するステップS101。そして、フォルダ解析部231は、抽出した各定数の、定数名、概要、値等の情報を取得し、所定の形式でリスト化した全定数リスト273cを作成して、フォルダデータ格納部273に登録するステップS102。なお、既に全定数リスト273cが存在している場合、フォルダ解析部231は、全定数リスト273cに取得した情報を追加する。なお、定数の抽出、および、抽出した定数の定数名、値等の取得は、ソースファイルを公知の手法により構文解析することで実現可能である。また、定数の概要等の情報は、予め決められたルールに基づいて、定数定義文の直前のコメント文から取得すればよい。続いて、フォルダ解析部231は、指定フォルダおよび指定フォルダ以下のフォルダに格納されている全てのソースファイルについて、ステップS101~ステップS102の処理が完了したか否かを判別するステップS101。全てのソースファイルで処理が完了していないと判別した場合ステップS101;No、フォルダ解析部231は、未処理のソースファイルを選択し、選択したソースファイルで定義されている関数、変数、定数を抽出し、関連する情報をフォルダデータ格納部273に格納する一連の処理ステップS101~ステップS102を繰り返す。全てのソースファイルで処理が完了したと判別した場合ステップS101;Yes、指定フォルダ解析処理は終了する。なお、指定フォルダ解析処理が終了時に、その旨を補助データ制御部のフォルダデータ表示部263に通知し、フォルダデータ表示部263が、フォルダデータ格納部273に格納されている情報を補助画面132に表示してもよい。アクティブソースファイル解析処理続いて、エディタ画面131に表示したり、エディタ画面131から変更を加えたアクティブソースファイルを解析するアクティブソースファイル解析処理について説明する。ユーザは、例えば、ソースファイル再利用支援装置100の操作部12を操作して、ソースファイルをエディタ画面131上に開いたり、表示させたソースファイルを編集変更する。ソースファイル監視部222は、このように、エディタ画面131上に開かれたり、変更が加えられたソースファイルアクティブソースファイルを検知し、その旨をソースファイル解析部232に通知する。ソースファイル解析部232は、ソースファイル監視部222からの通知を受けて、図5のフローチャートに示すアクティブソースファイル解析処理を実行する。なお、本実施形態では、エディタ画面上で変更したソースファイルが保存されたタイミングで、ソースファイルに変更が加えられたことを検知する。なお、このタイミング以外にも、エディタ画面上で改行が入力されたタイミングや、エディタ画面上で変更が加えられてから所定時間が経過したタイミングで、ソースファイルに変更が加えられたことを検知してもよい。アクティブソースファイル解析処理が実行されると、まず、ソースファイル解析部232は、ローカルデータ格納部271と外部データ格納部272に記憶されているリストをクリアするステップS201。続いて、ソースファイル解析部232は、ソースファイル解析部232から通知されたアクティブソースファイルを解析して、アクティブソースファイル内で定義されているmain関数以外の関数ローカル関数を抽出するステップS202。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、抽出した各ローカル関数に関する情報関数名、処理概要、引数の型と概要、戻り値の型と概要等を取得し、所定の形式例えば、CSV形式でリスト化したローカル関数リスト271aを作成して、ローカルデータ格納部271に登録するステップS203。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、アクティブソースファイル内で定義されている変数ローカル変数を抽出するステップS204。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、抽出した各ローカル変数の、変数名、概要、型等の情報を取得し、所定の形式でリスト化したローカル変数リスト271bを作成して、ローカルデータ格納部271に登録するステップS205。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、アクティブソースファイル内で定義されている定数ローカル定数を抽出するステップS206。具体的には、ソースファイル解析部232は、アクティブソースファイル内のdefine構文で定義されている定数をローカル定数として抽出すればよい。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、抽出した各ローカル定数の、定数名、概要、値等の情報を取得し、所定の形式でリスト化したローカル定数リスト271cを作成して、ローカルデータ格納部271に登録するステップS207。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、アクティブソースファイルから参照可能であり、且つ、アクティブソースファイル以外のソースファイルで定義されている関数外部関数を抽出するステップS208。例えば、ソースファイル解析部232は、アクティブデータファイルがインクルードしているヘッダファイルstdioh、mathhなどの標準Cライブラリで定義されているものは除くを解析して、ヘッダファイル内で定義されている関数を外部関数として抽出すればよい。続いて、ソースファイル解析部232は、ヘッダファイルを解析して、抽出した各外部関数の、関数名、処理概要、引数の型と概要、戻り値の型と概要、等の情報を取得し、所定の形式でリスト化した外部関数リスト272aを作成して、外部データ格納部272に登録するステップS209。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、アクティブソースファイルから参照可能であり、且つ、アクティブソースファイル以外のソースファイルで定義されている変数外部変数を抽出するステップS210。例えば、ソースファイル解析部232は、アクティブデータファイルがインクルードしているヘッダファイルstdioh、mathhなど標準Cライブラリで定義されているものは除くを解析して、ヘッダファイル内で定義されている変数を外部変数として抽出すればよい。続いて、ソースファイル解析部232は、抽出した各外部変数の、変数名、概要、型等の情報を取得し、所定の形式でリスト化した外部変数リスト272bを作成して、外部データ格納部272に登録するステップS211。続いて、ソースファイル解析部232は、アクティブソースファイルを解析して、アクティブソースファイルから参照可能であり、且つ、アクティブソースファイル以外のソースファイルで定義されている定数外部定数を抽出するステップS212。例えば、ソースファイル解析部232は、アクティブデータファイルがインクルードしているヘッダファイルstdioh、mathhなど標準Cライブラリで定義されているものは除くを解析して、ヘッダファイル内のdefine構文で定義されている定数を外部定数として抽出すればよい。続いて、ソースファイル解析部232は、抽出した各外部定数の、定数名、概要、値等の情報を取得し、所定の形式でリスト化した外部定数リスト272cを作成して、外部データ格納部272に登録するステップS213。続いて、補助画面制御部26は、ローカルデータ格納部271、外部データ格納部272、および、フォルダデータ格納部273に格納されている情報を表示するための補助画面132を表示部13に表示するステップS214。ここで、補助画面132の例を図6A~Cに示す。ユーザは、操作部12を操作して、補助画面の上下に並んだタブからそれぞれ1つを選択する。補助画面制御部26は、選択されたタブに応じて、表示内容を適宜切り替える。例えば、図6に示す補助画面の左の縦に並んだ3つのローカルタブ、外部タブ、フォルダタブは、定義データが定義されている場所に応じて情報の種類を切り換えるためのタブである。また、補助画面の上の横に並んだ3つの関数タブ、変数タブ、定数タブは、表示される情報の種類を切り換えるためのタブである。例えば、ローカルタブと関数タブとが選択された場合、補助画面制御部26のローカルデータ表示部261は、ローカルデータ格納部271内のローカル関数リスト271aの内容を一覧表示する図6Aに示すような補助画面を制御部に表示する。また、外部タブと変数タブとが選択された場合、補助画面制御部26の外部データ表示部262は、外部データ格納部272内の外部変数リスト272bの内容を一覧表示する図6Bに示すような補助画面を制御部に表示する。また、フォルダタブと定数タブとが選択された場合、補助画面制御部26のフォルダデータ表示部263は、フォルダデータ格納部273内の全定数リスト273cの内容を一覧表示する図6Cに示すような補助画面を制御部に表示する。なお、補助画面132上の項目をクリックすることで、クリックした項目で表示される内容を昇順、降順にソートしたり、補助画面132内に表示されている内容から指定文字列の検索や、指定文字列を含むものだけを一覧表示する等のテキスト操作も、補助画面132上から行えるものとする。以上でアクティブソースファイル解析処理は終了する。入力候補表示処理続いて、入力候補表示処理について説明する。ユーザは、操作部12を操作して、エディタ画面131上に表示されているソースファイルに文字を入力する。エディタ画面制御部24の入力データ監視部242は、ソースファイルへの入力を常時監視しており、スペースや等号等を含まない連続した所定文字数以上例えば、3文字以上の連続した文字の入力を検知すると、入力された文字列を入力候補解析部25に通知し、入力候補解析部25は、図7に示す入力候補表示処理を実行する。まず、入力候補解析部25は、入力データ監視部242から通知された所定文字数の文字列に前方一致する開発言語本実施形態ではC言語の予約語while,switch,return等が有るか否かを判別するステップS301。前方一致する予約語があると判別した場合ステップS301;Yes、入力候補解析部25は、その予約語を入力候補表示部243に通知する。そして、入力候補表示部243は、通知された予約語を、入力の候補としてエディタ画面131上に表示しステップS302、入力候補表示処理は終了する。前方一致する予約語がないと判別した場合ステップS301;No、入力候補解析部25は、ローカルデータ格納部271内のローカル関数リスト271a、ローカル変数リスト271b、及び、ローカル定数リスト271cを検索して、入力データ監視部242から通知された所定文字数の文字列に前方一致する関数名、変数名、定数名が有るか否かを判別するステップS303。一致するものがないと判別した場合ステップS303;No、入力候補解析部25は、ステップS305に処理を移す。一致するものがあると判別した場合ステップS303;Yes、入力候補解析部25は、一致した関数名、変数名、定数名を所定の形式でリスト化したローカル候補リスト274aを作成して、入力候補格納部274に格納しステップS304、ステップS305に処理を移す。ステップS305において、入力候補解析部25は、外部データ格納部272内の外部関数リスト272a、外部変数リスト272b、及び、外部定数リスト272cを検索して、入力データ監視部242から通知された所定文字数の文字列に前方一致する関数名、変数名、定数名が有るか否かを判別する。一致するものがないと判別した場合ステップS305;No、入力候補解析部25は、ステップS307に処理を移す。一致するものがあると判別した場合ステップS305;Yes、入力候補解析部25は、一致した関数名、変数名、定数名を所定の形式でリスト化した外部候補リスト274bを作成して、入力候補格納部274に格納ステップS306し、ステップS307に処理を移す。ステップS307において、入力候補表示部243は、入力候補格納部274にローカル候補リスト274aと外部候補リスト274bの少なくとも何れかが格納されているか否かを判別する。格納されていない場合ステップS307;No、入力候補は存在しないこととなり、入力候補表示処理は終了する。ローカル候補リスト274aと外部候補リスト274bの少なくとも何れかにリストが格納されている場合ステップS307;Yes、入力候補表示部243は、格納されているリストに登録されている関数名、変数名、定数名を、現在入力中の文字列に対応する入力の候補としてユーザが選択可能に表示するステップS308。また、この際、入力候補表示部243は、ローカル候補リスト274aと外部候補リスト274bとのどちらの候補リストに登録されていたものであるのかがユーザに分かるように、入力候補を表示する。続いて、ユーザは、操作部12を操作して、この表示から、入力したい入力候補を選択する。この選択操作に応じて、入力候補表示部243は、選択された入力候補を、エディタ画面131上に反映させるステップS309。以上で入力候補表示処理は終了する。ここで、ステップS308の処理で作成される画面について、図8の画面例を参照して説明する。この画面では、getに続く入力の候補として、getTemperatureとgetTempoutdoorがエディタ画面131上に表示されている。ユーザは、操作部12を操作して、この表示から入力候補を選択可能であり、入力候補表示部243は、選択された入力候補をエディタ画面131上のget以降に反映させる。また、この画面では、各入力候補の右側に、入力候補がローカル候補リスト274aと外部候補リスト274bとのどちらに登録されていたかを示す識別記号が付される。具体的には、ローカル候補リスト274aに登録されていた入力候補にはL、外部候補リスト274bに登録されていた入力候補にはGが付されて表示される。ユーザはこの識別記号を確認することで、入力候補が現在開いているソースファイルで定義されているのか、他のソースファイルで定義されているのかを確認することができる。このように、本実施形態によれば、実装を行うためにエディタでソースファイルが開かれたり、開いたソースファイルが変更されると、このソースファイルアクティブソースファイルの解析変更された場合は再解析がなされて、アクティブソースファイルから参照可能な定義データ関数、変数等に関する情報関数名、処理概要等が補助画面132に自動的に表示される。従って、実装作業中のユーザは、自身がコーディングしている又はコーディングしようとしているソースファイル内の各関数や変数等の概要を、補助画面132を通して瞬時に把握することができるため、これらの関数や変数等の再利用を容易に行うことが可能となる。従って、本実施形態に係るソースファイル再利用支援装置100によれば、プログラムの実装中に、好適に既存プログラムの再利用を支援することが可能となる。また、本実施形態では、アクティブソースファイルから参照可能な定義データを、アクティブソース内で定義されているローカル定義データとアクティブソース以外のソースファイル内で定義されている外部定義データとに区分して、各定義データに関する情報を取得、表示する。従って、ユーザにとっては、全ソースファイルで利用可能なグローバル変数も容易に検出可能となり、同一データを意味するグローバル変数の重複等を防ぐことができ、より有意義な情報をユーザに提供することができる。また,この本実施形態に係るソースファイル再利用支援装置100によれば、エディタ画面131に入力した文字列と前方一致した関数や変数の入力候補が選択可能に表示されて、選択することで入力を行うことが可能となるため、関数名や変数名の入力ミスや関数や変数で指定する型の間違い違いを防止することができ,開発時間を短縮することが可能となる。なお、入力した文字列と前方一致するだけでなく、後方一致や部分一致するものを入力候補としてもよい。なお、図6で示した補助画面132に表示される関数名、変数名、定数名、処理概要、型、値等の項目はあくまで一例であり、これら以外の情報を取得して表示してもよい。例えば、コメント文等から関数の利用例や、同一関数を利用している他のファイルなど、解析に有用な他の情報を取得して表示しても良い。また、表示区分も関数、変数、定数としているが、これ以外にもマクロなどを表示しても良い。また、本実施の形態では、エディタ画面131を実装用の専用のエディタで開いた画面として説明した。しかし、本発明は、このような専用のエディタが無ければ利用できないものではなく、市販の一般的なエディタを利用した場合でも、開いたり変更が加えられたソースファイルなどを検知した信号を取り出して、同様に連携して動作するようしてもよい。続いて、第2の実施形態に係るソースファイル再利用支援装置200について説明する。ソースファイル再利用支援装置200は、図9に示すように、第1の実施形態に係るソースファイル再利用支援装置100と比較して、補助画面制御部26が変更内容反映部264を備える点のみが異なる。変更内容反映部264は、補助画面132上から関数や変数の内容を変更した際に、その変更をソースファイルに反映させるための変更内容反映処理を行う。続いて、ソースファイル再利用支援装置200で実施される変更内容反映処理の動作について説明する。ユーザは、操作部12を操作して、前述したアクティブソースファイル解析処理で表示した補助画面132に表示されている情報関数名、処理概要、引数、型等を変更する。この変更の処理に応答して、変更内容反映部264は、変更内容反映処理を実施する。変更内容反映処理:関数名変更図10は、補助画面から関数名が変更された場合に実施される変更内容反映処理の動作を説明するためのフローチャートである。まず、変更内容反映部264は、エディタ画面131に開かれているアクティブソースファイルおよび、アクティブソースファイルがインクルードしているソースファイルを検索して、補助画面132で関数名が変更された関数の定義部分を抽出するステップS401。そして、変更内容反映部264は、抽出した定義部分で定義されている関数名を、補助画面132で変更された内容と同じになるように変更するステップS402。続いて、変更内容反映部264は、指定フォルダ以下の全ソースファイルを検索して、関数名を変更した関数を利用参照している部分を抽出し、ステップS402と同様に関数名を変更するステップS403。以上で、関数名を変更した際の変更内容反映処理は終了する。なお、補助画面上から変数名や定数名が変更された場合にも、同様の変更内容反映処理が行われる。変更内容反映処理:関数処理概要変更図11は、補助画面から関数の処理概要が変更された場合に実施される変更内容反映処理の動作を説明するためのフローチャートである。まず、変更内容反映部264は、エディタ画面131に開かれているアクティブソースファイルおよび、アクティブソースファイルがインクルードしているソースファイルを検索して、補助画面で処理概要が変更された関数の定義部分を抽出するステップS501。そして、変更内容反映部264は、抽出した関数定義部分の直前にあるコメント文の内容を、補助画面132で変更された処理概要と同じになるように変更するステップS502。なお、補助画面132の関数の処理概要が空欄であった場合、ソースファイルには対応するコメント文が存在しない。従って、変更内容反映部264は、補助画面132上に新規入力された処理概要を含むコメント分を、抽出した関数定義部分の直前に新たに作成する。以上で、関数の処理概要を変更した際の変更内容反映処理は終了する。なお、補助画面132上から変数や定数の概要が変更された場合にも、同様の変更内容反映処理が行われる。変更内容反映処理:関数の引数を変更図12は、補助画面から関数の引数が変更された場合に実施される変更内容反映処理の動作を説明するためのフローチャートである。まず、変更内容反映部264は、エディタ画面131に開かれているアクティブソースファイルおよび、アクティブソースファイルがインクルードしているソースファイルを検索して、補助画面131で引数が変更された関数の定義部分を抽出するステップS601。そして、変更内容反映部264は、抽出した定義部分で定義されている引数を、補助画面131で変更された内容と同じになるように変更するステップS602。例えば、補助画面上で新たに引数が加えられたり引数が削除されたりした場合は、抽出した定義部分でも同様に変更を行う。また、補助画面131上で引数の型が変更された場合は、抽出した定義部分でも同様に引数の型の変更を行う。続いて、変更内容反映部264は、指定ファイル以下の全ソースファイルを検索して、引数を変更した関数を利用参照している部分を抽出し、ステップS602と同様に引数を変更するステップS603。なお、引数の型をlong型からshort型へ変更する等の、値範囲が狭くなる変更をする場合は、明示的型変換キャストをする等して、変更により値範囲の整合性が取れなくなることを防ぐようにする。以上で、関数の引数を変更した際の変更内容反映処理は終了する。なお、補助画面上から関数の戻り値や、変数や定数の型、値が変更された場合にも、同様の変更内容反映処理が行われる。このように、本実施形態によれば補助画面132で変更した内容が、関数や変数等を利用している全てのソースファイルに自動的に反映されるため、ユーザーが手作業で1つずつ変更を行う場合よりも、迅速且つ正確に行うことができる。また、本実施形態によれば、補助画面132から変更をすることで修正の漏れなく引数の追加が行えるため、従来、既存コードへの反映漏れに不安があり、ほぼ同様の処理でも新たに関数を作成していたために発生していたコード量の増加や、同様のコードが複数あることによる修正時の修正漏れなどの問題が解決でき、処理を統合した関数を容易に作成することが可能となる。また、本実施形態によれば、補助画面132から変更をすることで修正漏れの心配なく関数名の変更が行えるため、統一性の無かった既存の関数名を一定の決まりのある統一性のある関数名に変更することが比較的用に行え、関数の再利用時に、より分かりやすく利用することが可能となる。続いて、第3の実施形態に係るソースファイル再利用支援装置300について説明する。ソースファイル再利用支援装置300は、図13に示すように、第1の実施形態に係るソースファイル再利用支援装置100に新たに共通関数処理部28が追加された構成である。共通関数処理部28は、関数比較部281と共通関数生成部282とを備える。関数比較部281は、対象とする複数の関数を比較し、処理内容が一致する部分を特定する。共通関数生成部282は、処理内容が一致する部分を抜き出した共通関数を作成し、複数の関数それぞれから参照可能にするための処理を行う。共通関数処理続いて、ソースファイル再利用支援装置300で実施される共通関数処理の動作について説明する。ユーザは、操作部12を操作して、共通関数生成処理の対象としたい複数の関数を選択して、プログラム開発ツールのメニュー画面等から、共通関数生成処理の開始を指示する。この指示操作に応答して、共通関数処理部28は、図14に示す共通関数処理を開始する。まず、関数比較部281は、ユーザが選択した複数の関数を比較し、2つの以上の関数で共通する処理部分共通処理部分があるか否かを判別するステップS701。具体的には、関数比較部281は、比較する各関数の関数定義部分をソースファイルから取得する。そして、関数比較部281は、取得した各関数の関数定義部分のうち、空白スペース、タブやコメント部分を除いた部分を公知のテキスト比較ソフト等を用いて比較し、一致する部分を各関数で共通する処理部分であると判別すればよい。共通処理部分がないと判別した場合ステップS701;No、共通関数処理は終了する。共通処理部分があると判別した場合ステップS701;Yes、関数比較部281は、判別した共通処理部分を共通関数化することに有用性メリットがあるか否かを判別するステップS702。例えば、関数比較部281は、共通処理部分のサイズソースファイル内の対応部分の行数や文字数等が所定の閾値以上である場合、共通関数化することでソースファイル全体のコーディング量を削減できるため、有用性があると判別する。若しくは、共通処理部分が、所定数以上の関数内で定義されている場合、共通関数化することでこの処理部分を一元管理できて保守性が大幅に向上するため、有用性があると判別してもよい。さらには、これら2つの条件を組み合わせて、共通処理部分のサイズが所定の閾値以上であり、且つ、共通処理部分が所定数以上の関数内で定義されている場合に、有用性があると判別してもよく、共通処理部分の有用性の判別は任意の基準が採用可能である。共通処理部分を共通関数化することに有用性がないと判別した場合ステップS702;No、共通関数処理は終了する。共通処理部分を共通関数化することに有用性があると判別した場合ステップS702;Yes、共通関数生成部282は、この共通処理部分を各関数から抜き出して関数化した共通関数を生成するステップS703。具体的には、共通関数生成部282は、各関数の定義部分から、共通処理部分を切り取る。そして、共通関数生成部282は、ソースファイルを新規作成し、このソースファイルに切り取った共通処理部分を関数化して貼り付ける処理を行う。続いて、共通関数生成部282は、共通処理部分が抜き出された各関数内で、生成した共通関数を呼び出せるように、ソースファイルを変更するステップS704。以上で共通関数処理は終了する。具体的には、共通関数生成部282は、共通処理部分が抜き出された各関数が定義されているソースファイルの先頭部分に、共通関数が定義されているソースファイルをインクルードする記載を追加する。そして、共通関数生成部282は、共通処理部分が抜き取られた部分に、生成した共通関数を呼び出す記載を追加する。以上で共通関数処理は終了する。ここで、共通関数処理について、図15を参照して具体的に説明する。ソースファイルaaacに定義されている関数Aとソースファイルbbbcに定義されている関数Bとが共通化する対象として選択されて共通関処理が開始された場合を考える。この場合、関数Aと関数Bとで共通する処理1が共通部分として抜き出され、新たにソースファイルヘッダファイルchが作成さる。ヘッダファイルch内に共通処理部分である処理1が共通関数Cとして定義される。また、共通処理部分として処理1が抜き出されたソースファイルaaacとbbbcでは、ファイルの先頭に共通関数Cが定義されているchをインクルードする記載が追加される。また、処理1が抜き出された部分には、共通関数Cを呼び出す記載が挿入される。このように、本実施形態によれば、複数の関数で記述されている使用頻度の高い同一処理を、共通関数として抜き出す。これにより、コード量の削減を図ることが可能となり、ソースファイルの可読性が向上し、新機関数からの再利用もより容易に行えることが可能となる。また、本実施形態によれば、関数間での共通処理部分を切り出して共通関数化することに有用性があるか否かを判断し、有用性が低い場合は、共通処理部分を共通関数と抜き出す処理を行わない。従って、処理内容が各関数で共通しているものの、共通している部分範囲が非常に狭かったり、極めて少数の関数間でしか共通していないような、共通化することでかえって可読性が悪化するようなケースを防止することも可能となる。なお、本発明は、上記各実施形態に限定されず、本発明の要旨を逸脱しない部分での種々の変更は勿論可能である。例えば、上記各実施形態では、C言語で記載されているソースファイルを例にして主に説明したが、JAVA登録商標やBASIC等の他のプログラム言語で記載されているソースファイルにも本願発明が適用できるのは勿論である。なお、その場合、それぞれの言語の文法に沿った手法で、ローカル関数、ローカル変数、外部関数、外部変数等に関する情報を取得しなければならないのは勿論である。また、例えば、本発明に係るソースファイル再利用支援装置100,200,300の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末機器等に適用することで、当該パーソナルコンピュータ等を本発明に係るソースファイル再利用支援装置100,200,300として機能させることも可能である。また、このようなプログラムの配布方法は任意であり、例えば、CD-ROMCompactDiskReadOnlyMemory、DVDDigitalVersatileDisk、MOMagnetoOpticalDisk、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。"