(57)【要約】【課題】  ソースプログラムをコンパイル処理する際に、ソースプログラムを確実にバックアップし、且つコンパイル結果ファイルとの関連情報を自動的に生成・管理すること。【解決手段】  入力パラメータ１１を解析するパラメータ解析部１２０や、ソースプログラム１０から実行プログラムを作成するコンパイル処理実行部１２１、コンパイル結果を保持するコンパイル結果実行プログラムバッファ１２２、ソースプログラムのバックアップを実行するソースプログラムバックアップ実行部１２３、バックアップソースプログラム蓄積部１２６、ソースプログラム１０と入力パラメータ１１と実行プログラム１３の関連付け情報を生成する関連情報生成部１２４、その関連情報を格納する関連情報蓄積部１２７、コンパイル処理実行部１２１からの処理結果としての実行プログラム１３を出力するコンパイル結果出力部１１５を含むようにして構成した。【選択図】  図１ 
2005301749.tif 000002
【特許請求の範囲】
【請求項１】
入力されたソースプログラムをコンパイルし、コンパイル結果ファイルを得るためのコンパイル装置であって、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手段と、上記ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手段とを含むコンパイル装置。
【請求項２】
請求項１記載のコンパイル装置において、上記コンパイル結果ファイルは実行プログラムとされるコンパイル装置。
【請求項３】
請求項２記載のコンパイル装置において、上記ソースプログラム内にインクルードされているヘッダファイル名が取り込まれた上、ソースプログラムと共にバックアップファイルが作成される一方、ソースプログラムとヘッダファイルの関係付け情報が関連情報として生成されるコンパイル装置。
【請求項４】
請求項１記載のコンパイル装置において、上記コンパイル結果ファイルは目的プログラムとされ、該目的プログラムを隠蔽する手段が組み込まれてなるコンパイル装置。
【請求項５】
請求項１記載のコンパイル装置において、上記コンパイル結果ファイルは目的プログラムとされ、該目的プログラムをアーカイブし目的プログラムのライブラリが作成されるべく、目的プログラムと該目的プログラムの生成元のソースプログラムとの関連情報をアーカイブする手段が組み込まれてなるコンパイル装置。
【請求項６】
請求項５記載のコンパイル装置において、目的プログラムと目的プログラムのライブラリとをリンケージすることで、実行プログラムが作成されるべく、目的プログラムと目的プログラムの生成元のソースプログラムとの関連情報と、上記ライブラリと該ライブラリを構成する目的プログラムと目的プログラムの生成元のソースプログラムとの関連情報とをリンケージする手段が組み込まれてなるコンパイル装置。
【請求項７】
請求項４記載のコンパイル装置において、目的プログラムと該目的プログラムの生成元のソースプログラムとの関連情報をアーカイブする手段と、隠蔽された目的プログラムに基づき生成されたライブラリを隠蔽する手段とが組み込まれてなるコンパイル装置。
【請求項８】
請求項７記載のコンパイル装置において、目的プログラムと目的プログラムの生成元のソースプログラムとの関連情報と、上記ライブラリと該ライブラリを構成する目的プログラムと目的プログラムの生成元のソースプログラムとの関連情報とをリンケージする手段と、隠蔽された目的プログラム及びライブラリに基づき、実行プログラムを出力する手段とが組み込まれてなるコンパイル装置。
【請求項９】
請求項２、または６に記載のコンパイル装置において、作成された実行プログラム名称から、生成元のソースプログラムを取り出す手段が組み込まれてなるコンパイル装置。
【請求項１０】
入力されたソースプログラムをコンパイルし、コンパイル結果ファイルを得るためのコンパイル用プログラムであって、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順と、上記ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順とを実行させるコンパイル用プログラム。
【請求項１１】
入力されたソースプログラムをコンパイルし、コンパイル結果ファイルを得るためのコンパイル用プログラムが記憶されてなる記憶媒体であって、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順と、上記ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順とを実行させるコンパイル用プログラムが記憶されてなる記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの開発における資源管理に係わり、特にソースプログラムの自動バックアップを行うとともに、コンパイル結果ファイルとバックアップされたソースプログラムとの関連付けが自動的に行われるようにしたコンパイル装置、更には、そのようなコンパイル処理を行わしめるためのコンパイル用プログラム、更にはまた、そのコンパイル用プログラムが記憶されてなる記憶媒体に関する。
【背景技術】
【０００２】
従来のバックアップ装置では、コンパイル前のソースプログラム、または完成型となった実行プログラム及びデータに対して個別にバックアップが行われているのが実情である。実行プログラムと生成元としてのソースプログラムとの関連付けを特定するためには、資源管理を行うことが必要であるが、この資源管理には膨大な労力と手間が必要とされる上に、実行プログラムと生成元としてのソースプログラムとの関連付けを完全に保証することは不可能となっている。
【０００３】
因みに、特許文献１では、コンパイルしたソースプログラムを識別するために、ソースプログラムの構文を解析した情報をソース情報として、目的プログラムと一緒に目的プログラムファイル内に格納されている。
【特許文献１】特開２００２―８２８１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
実行プログラムを生成するために必要なソースプログラムやヘッダファイルは、実行プログラムとは別個の存在であり、また、その管理方法は煩わしく、以下のような不具合があった。
即ち、実際のプログラム開発においては、同一名称ではあるが、内容がそれぞれ異なるソースプログラムが複数存在することがある。このため、管理方法を誤ると、実行プログラムの生成元としてのソースプログラムが判別不可能となり、コンパイル／リンク時に内容の異なる実行プログラムが作成されてしまうことが往々にして発生する。また、デバッグ等の目的で、以前に作成された実行プログラムを修正する際に、何れのソースプログラムをコンパイルして作成された実行プログラムであるのかや、その時、どんなコンパイラオプション、ヘッダファイルを指定したかが判らないために、同一の実行プログラムの再現に失敗することがある。また、担当者が変更となり引継ぎが行われた場合等、ソースプログラムの修正過程が判らず、必要な修正内容を漏らしてしまい実行プログラムがデグレードを起すことがある。
【０００５】
換言すれば、これまでにあっては、実行プログラムと生成元のソースプログラム、開発環境が別々に管理されているため、管理ミスにより開発環境の再現に失敗したり、実行プログラムの再生成に多くの時間が要されたり、デバッグ作業や保守作業のコストが増大する、といった不具合があったものである。
【０００６】
本発明の目的は、ソースプログラムがコンパイル処理されるに際し、ソースプログラムが確実にバックアップされ、しかもコンパイル結果ファイルとしての実行プログラム、あるいは目的プログラムとの関連情報が自動的に生成・管理され得るコンパイル装置を提供することにある。
本発明の目的はまた、そのようなコンパイル処理を実行可能ならしめるコンパイル用プログラムを提供することにある。
更に、本発明の目的は、そのコンパイル用プログラムが記憶されてなる記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
本発明によるコンパイル装置は、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手段と、上記ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手段とを含むように、構成したものである。
【０００８】
また、本発明によるコンパイル用プログラムは、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順と、上記ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順とを実行させるプログラムとして構成されたものである。
更に、本発明による記憶媒体は、記憶媒体上にそのようなコンパイル用プログラムが記憶されてなるものである。
【０００９】
以上のように、従来のコンパイル装置と置き換えるだけで、利用者の環境を変更させることなく、ソースプログラムの自動バックアップを行い、コンパイル結果ファイルとバックアップされたソースプログラムの関連付けを自動的に行うことが可能となる。これにより、保守等の目的のために、利用者が、コンパイル結果ファイルの生成時に使用したソースプログラムを入手しようとした場合には、その生成元としてのソースプログラムが確実に入手可能となり、プログラムの保守性が大幅に向上させることができる。また、ソースプログラムのバックアップ管理に要する労力を省くことができ、保守性の維持に要されるコストと時間が最小限に抑制され得る。
【発明の効果】
【００１０】
ソースプログラムがコンパイル処理されるに際し、ソースプログラムが確実にバックアップされ、しかもコンパイル結果ファイルとしての実行プログラム、あるいは目的プログラムとの関連情報が自動的に生成・管理され得るコンパイル装置が提供される。
また、そのようなコンパイル処理を実行可能ならしめるコンパイル用プログラムが提供される。
更には、そのコンパイル用プログラムが記憶されてなる記憶媒体が提供されることになる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施の形態について、図１から図１２により具体的に説明する。
先ず本発明の具体的説明に先立って、本発明の概要について説明すれば、ソースプログラムを管理する方法としては、コンパイル結果ファイルとの関連情報を実行プログラム内に埋め込むという方法も考えられる。しかしながら、それによりコンパイル結果ファイルのサイズが増大することになり、過去のコンパイル履歴やソースプログラムの修正履歴等、多くの情報を持たせることができず、ソースプログラムの版管理は別個に行われることになるため、問題を根本的に解決することには至らないといえる。しかしながら、本発明では、コンパイル結果ファイルの生成元であるソースプログラムの版管理や、コンパイル結果ファイルとの関連付けが自動的に行われるようになっている。
【００１２】
また、ソースプログラムの過去の修正履歴が併せて格納される場合には、ソースプログラム修正時に修正箇所を自動出力し、修正内容が正しいか否かが作業者により容易に判別可能となる。更に、中間ファイルである目的プログラムやライブラリをコピー、または移動した場合に、ソースプログラムとの関連付けがそこで途切れてしまうという問題があったが、本発明では、目的プログラムやライブラリの実体を隠蔽し、専用コマンドの使用によりコピー、または移動を行うことで、関連付け情報を保持したまま、ファイルのコピーや移動を行い、且つイレギュラーなファイルのコピー作業を排除することで、関連付けが保証される。
【００１３】
更にまた、実行プログラムが提供された後に、何時、何処で作成されたものかを確定させるため、実行プログラム内に、作成したマシンのＭＡＣアドレスやフルパス名称、作成日時等の情報を埋め込むことも考えられる。これにより、実行プログラムが顧客に提供された後であっても、何時、何処で作成されたものかが容易に特定され得、それら情報から生成元となったソースプログラムと開発環境を特定することが可能となる。また、作成された実行プログラム名称から、生成元のソースプログラムを取り出すことも可能となっている。格納されたソースプログラムのバックアップ、及びヘッダファイルのバックアップとコンパイルオプションが、実行プログラム名称及びコンパイル実行日時を含むコマンドにより検索される場合は、実行プログラムやコンパイルオプションが実行プログラム単位に取出し可能となっている。
【００１４】
以上の各種内容を可能ならしめるべく、本発明によるコンパイル装置には、従来のコンパイル装置と同一の入力手段及びバックアップ機能が具備されているが、そのコンパイル装置では、コンパイル操作において自動的にソースプログラムがバックアップされているばかりか、管理に必要な情報が収集された上、ソースプログラムと実行プログラムの関連付けが作成されている。これによりソースプログラムとともに、コンパイル時に使用されたヘッダファイルとコンパイルオプションが格納されることで、実行プログラム作成時でのコンパイル環境が再現可能とされている。
【００１５】
さて、本発明について具体的に説明すれば、本発明によるコンパイル装置の一例での基本的な構成を図１に示す。図示のように、本発明によるコンパイル装置１２は、ソースプログラム１０及び入力パラメータ１１を入力とし、その出力として、コンパイル処理の結果、即ち、実行プログラム１３がコンパイル結果ファイルとして出力されている。その装置内部はまた、パラメータ解析部１２０、コンパイル処理実行部１２１、コンパイル結果実行プログラムバッファ１２２、ソースプログラムバックアップ実行部１２３、関連情報生成部１２４、コンパイル結果出力部１２５、バックアップソースプログラム蓄積部１２６及び関連情報蓄積部１２７より構成されている。
【００１６】
ここで、その装置としての概要動作について説明すれば、コンパイル装置１２内のパラメータ解析部１２０には、ソースプログラム１０及び入力パラメータ１１が読み込まれた上、コンパイル処理の条件が解析される。次いで、コンパイル処理実行部１２１では、解析されたパラメータを基に、コンパイルコマンドが実行される。このコンパイル処理実行部１２１でのコンパイル処理の実行結果としては、メッセージ及び実行プログラムファイルが得られるが、これらはコンパイル結果実行プログラムバッファ１２２にバッファリングされるようになっている。もしも、コンパイル実行処理部１２１でのコンパイル処理に際し、エラーが発生した場合には、以降での処理は打切られ、コンパイル結果実行プログラムバッファ１２２にバッファリングされているエラーメッセージが出力される。しかしながら、コンパイル処理実行部１２１でのコンパイル処理が正常裡に終了した場合（エラーが発生しなかった場合）は、ソースプログラムバックアップ実行部１２３において、ソースプログラム１０のバックアップが作成された上、バックアップソースプログラム蓄積部１２６に格納されるようになっている。次いで、関連情報生成部１２４においては、ソースプログラム１０のファイル情報と、入力パラメータ１１と、バックアップソースプログラム蓄積部１２６上の格納先情報と、実行プログラム１３のファイル情報とが生成された上、関連情報蓄積部１２７に格納される。最後に、コンパイル結果出力部１２５からは、コンパイル結果実行プログラムバッファ１２２にバッファリングされているメッセージ及び実行プログラムが出力されるようになっている。
【００１７】
次に、そのコンパイル装置での全体処理の概要について説明すれば、その全体処理の概要フロー例を図２に示す。これによる場合、先ずコンパイル装置内には、ソースプログラム及び入力パラメータが読み込まれる（ステップＳ１）。もしも、その際に、ソースプログラムに複数のファイルが指定された場合には、続けて次のファイルが読み込まれる。因みに、コンパイル装置がコンパイル可能なソースプログラムは、Ｃ言語やVisual C++、Java等とされているが、各言語に対応するコンパイル処理実行部が用意されることによって、それぞれの言語がコンパイル可能となっている。
【００１８】
さて、その後、コンパイル装置内に読み込まれたソースプログラム及び入力パラメータは解析処理されることによって、コンパイル処理の区分や、インクルード（include）されているヘッダファイル名、出力する実行プログラム名等が取得されることで、関連情報の基となる基本データが作成される（ステップＳ２）。図３にパラメータ解析部での処理フロー例を示す。図３に示すように、パラメータ解析処理は、入力パラメータが終了するまで、処理が繰り返される（ステップＳ２０１）。先ずは、入力パラメータから１語句が取り込まれた上、入力パラメータの語句が解析されることで、それが入力ファイル名か否かが判定される（ステップＳ２０２，Ｓ２０３）。もしも、入力パラメータが入力ファイル名であった場合には、その入力ファイル名は入力ファイル名テーブルに追加格納される（ステップＳ２０４）。また、それが出力ファイル名であった場合には、その出力ファイル名は出力ファイル名テーブルに追加格納される（ステップＳ２０５，Ｓ２０６）。更に、それがヘッダファイルの読込先ディレクトリ指定であった場合には、ヘッダファイル読込先がヘッダファイル読込先テーブルに追加格納される（ステップＳ２０７，Ｓ２０８）。更にまた、それがコンパイル処理区分の設定であった場合には、コンパイル処理区分設定に値が設定されるようになっている（ステップＳ２０９，Ｓ２１０）。
【００１９】
入力パラメータが終了するまで解析を終えたら、引き続いて、ソースプログラムの解析が入力ソースプログラムが終了するまで繰り返され（ステップＳ２１２）、ソースプログラムの数だけこれが繰り返される（ステップＳ２１１）。先ずは、入力ソースプログラムからは１行づつ、読み込まれた上、ヘッダファイルの取り込み指定であるか否かが判定される（ステップＳ２１３，Ｓ２１４）。この判定で、ヘッダファイルの取り込み指定であると判定された場合には、ヘッダファイル読込先テーブルに格納されているヘッダファイル読込先ディレクトリ内を検索して実在する場合は、ヘッダファイル名とヘッダファイル読込先ディレクトリがヘッダファイル名テーブルに追加格納される（ステップＳ２１５）。
【００２０】
以上、パラメータ解析部での処理フローについて説明した。ここで、再び図２に戻り説明を続行すれば、ソースプログラム及び入力パラメータが渡されることで、コンパイル処理実行部では、コンパイル処理が実行されるようになっている（ステップＳ３）。次いで、そのコンパイル処理が正常裡に終了したか否かが判定される（ステップＳ４）。この判定で、もしも、正常裡に終了しなかった場合には、エラー終了となるべく、エラー終了である旨の出力メッセージが画面上に表示されることで、一連の処理は終了される。一方、コンパイル処理が正常裡に終了した場合には、コンパイル処理実行部からの実行プログラム及び出力メッセージは処理が終了するまで、一時退避される（ステップＳ５）。その後、ソースプログラムは、コンパイルの結果、出力された実行プログラムの名前でパッケージングされた上、バックアップソースプログラム蓄積部に格納されるようになっている（ステップＳ６）。
【００２１】
図４にソースプログラムバックアップ実行部での処理フロー例を示す。図４に示すように、ソースプログラムバックアップ処理は、出力するファイルの数だけ処理が繰り返される（ステップＳ６１）。先ずは、上記ステップＳ２でのパラメータ分析結果を基に、出力ファイルと入力ソースプログラム、ヘッダファイルとの関係付けが検索される（ステップＳ６２）。その後、出力ファイル単位にソースプログラムとヘッダファイルがパッケージングされた上（ステップＳ６３）、パッケージングされたパッケージファイルがバックアップソースプログラム蓄積部に格納されるようになっている（ステップＳ６４）。
【００２２】
以上、ソースプログラムバックアップ実行部での処理フローについて説明した。ここで、図２に戻り説明を続行すれば、上記ステップＳ６で作成されたソースプログラムのバックアップデータのファイル名と、上記ステップＳ６で検索されたソースプログラムとヘッダファイルの関係付けの情報と、入力パラメータと、コンパイルの結果、出力された実行プログラムのファイル名と、コンパイル処理が実行された日時と、利用者の情報とがパッケージングされた上、関連情報蓄積部に格納されるようになっている（ステップＳ７）。
【００２３】
図５に関連情報生成部での処理フロー例を示す。図５に示すように、この関連情報生成処理は、出力するファイルの数だけ処理が繰り返される（ステップＳ７１）。先ず上記ステップＳ６によりバックアップされたパッケージファイルのファイル名と出力ファイル名が取得され（ステップＳ７２）、取得されたパッケージファイルのファイル名と、入力パラメータの内容と、コンパイル装置が起動された日時情報と、コンパイル装置を起動したユーザ情報とが関連情報ファイルに格納される（ステップＳ７３）。その後、この関連情報ファイルは関連情報蓄積部に格納される（ステップＳ７４）。
【００２４】
以上、関連情報生成部での処理フローについて説明した。ここで、図２に戻り説明を続行すれば、上記ステップＳ５にて一時退避されていたコンパイル結果、即ち、コンパイル処理実行部からの実行プログラム及び出力メッセージが装置の出力として出力されるようになっている。
【００２５】
以上、コンパイル装置での全体処理について説明した。ここで、バックアップソースプログラム蓄積部について補足説明すれば、図６に示すように、バックアップソースプログラム蓄積部内には、実行プログラムのフルパス名称のディレクトリが作成され、更に、その下には、コンパイル日時を示すディレクトリが作成される。そのコンパイル日時は、年月日時分秒として表現され、それぞれ２桁の区切り文字無しで表示される。コンパイル日時のディレクトリ下にはまた、ソースプログラムとヘッダファイルのバックアップがパッケージングされたパッケージングファイルが格納される。
【００２６】
次いで、関連情報蓄積部について説明すれば、図７に示すように、バックアップソースプログラム蓄積部と同様に、関連情報蓄積部内には、実行プログラムのフルパス名称のディレクトリが作成され、更に、その下には、コンパイル日時を示すディレクトリが作成される。コンパイル日時のディレクトリ下にはまた、関連情報ファイルが格納されるが、この関連情報ファイルの１行目には、コンパイル時のコンパイルオプション文字列が、また、２行目以降には、コンパイルに使用されたファイルのファイル情報が格納される。
【００２７】
一方、以上とは別に、目的プログラム生成に係る、本発明によるコンパイル装置の一例での基本的な構成を図８に示す。図８に示すように、コンパイル装置８１２の出力として目的プログラムが出力されているが、目的プログラムが出力される場合には、目的プログラムが勝手に流用されないようにするために、作業者の目に見える領域に出力される目的プログラムは、ソースプログラムとの関連情報が格納された、ダミーの目的プログラム８１３とされる。当然、このファイルを他へ流用して実行プログラムを生成しようとしても、正しくコンパイルされないため、イレギュラーな流用作業が排除される仕組みとなっている。ダミーの目的プログラムを生成するのは、以下の理由によっている。
【００２８】
即ち、従来のソフトウェア開発作業においては、メイクファイル（Make file）と呼ばれるコンパイル／リンク作業用コマンドを作成し、コンパイル・リンク処理を行うことが一般的であり、このメイクファイルでは、ソースプログラム、目的プログラム、ライブラリ及び実行プログラムの生成日付を比較して、再度コンパイルを行う範囲を最小限に留める工夫がなされており、目的プログラムを隠蔽の目的で削除してしまうと、メイクファイルの使用上、整合性がとれなくなってしまうため、ダミーを作成しメイクファイル使用時の整合性が確保されるようにした。
【００２９】
図８に示すように、そのコンパイル装置８１２は、ソースプログラム８１０及び入力パラメータ８１１を入力とし、その装置内部にはまた、パラメータ解析部８２０、コンパイル処理実行部８２１、コンパイル結果目的プログラムバッファ８２２、ソースプログラムバックアップ実行部８２３、関連情報生成部８２４、コンパイル結果出力部８２５、バックアップソースプログラム蓄積部８２６及び関連情報蓄積部１２７を含むようにして構成されており、装置の出力として、隠蔽された目的プログラム８２８と、ダミーの目的プログラム８１３が出力されるようになっている。
【００３０】
さて、そのコンパイル装置８１２での動作について説明すれば、コンパイル装置８１２内のパラメータ解析部８２０には、ソースプログラム８１０及び入力パラメータ８１１が読み込まれた上、コンパイル処理の条件が解析されており、コンパイル処理実行部８２１ではまた、その解析されたパラメータを基にコンパイルコマンドが実行される。次いで、コンパイル処理実行部８２１でのコンパイル処理の実行結果、即ち、メッセージ及び実行ファイルは、コンパイル結果目的プログラムバッファ８２２にバッファリングされるようになっている。もしも、その際に、コンパイル実行処理部８２１でエラーが発生した場合には、以降での処理は打ち切られ、コンパイル結果実行プログラムバッファ８２２にバッファリングされているエラーメッセージが出力される、しかし、コンパイル処理が正常裡に終了した場合（エラーが発生しなかった場合）は、ソースプログラムバックアップ実行部８２３において、ソースプログラム８１０のバックアップが作成された上、バックアップソースプログラム蓄積部８２６に格納される。
【００３１】
その後は、関連情報生成部８２４において、ソースプログラム８１０のファイル情報と、入力パラメータ８１１と、バックアップソースプログラム蓄積部８２６上の格納先情報と、目的プログラム８１３のファイル情報とが関連情報蓄積部８２７に格納される。最後に、コンパイル結果出力部８２５からは、コンパイル結果実行プログラムバッファ８２２にバッファリングされているメッセージと目的プログラム、及びダミーの目的プログラム８１３が出力される。
【００３２】
ここで、以上のバックアップソースプログラム蓄積部と関連情報蓄積部、隠蔽された目的プログラムの格納方法について説明すれば、図９に示すように、目的プログラムを隠蔽するため、実体ファイルはソースプログラムバックアップ領域下に格納され、同ディレクトリ下にコンパイル実施日時のディレクトリが作成されており、更に、その下には、ソースプログラムのバックアップファイルと関連情報ファイルが格納されるようになっている。
【００３３】
図１０にはまた、目的プログラムをアーカイブし、ライブラリを生成するアーカイブ装置の一例での構成を示す。このアーカイブ装置１０１２は、コンパイル装置の一部構成要素を流用して構成可能とされており、したがって、コンパイル装置に一体的に組込み可能とされていることからすれば、特殊形態のコンパイル装置ともいい得るものとなっている。図１０に示すように、そのアーカイブ装置１０１２は、ダミーの目的プログラム１０１０と入力パラメータ１０１１を入力とし、その装置内部にはまた、パラメータ解析部１０２０、アーカイブ処理実行部１０２１及びアーカイブ結果出力部１０２２を含むようにして構成されており、装置の出力として、ダミーのライブラリ１０１３が出力されている。
【００３４】
ここで、そのアーカイブ装置１０１２での動作について説明すれば、パラメータ解析部１０２０では、ダミーの目的プログラム１０１０と入力パラメータ１０１１から、ダミーの目的プログラム１０１０のフルパス名称が作成されており、アーカイブ処理実行部１０２１ではまた、そのフルパス名称から、コンパイル処理時に作成されたバックアップソースプログラム蓄積部８２６、関連情報蓄積部８２７、及び隠蔽された目的プログラム８２８を取り込み、それぞれを入力パラメータ１０１１に従いアーカイブする。その後、アーカイブ結果出力部１０２２からは、ダミーの目的プログラムがアーカイブされたダミーのライブラリ１０１３が出力される。また、目的プログラム毎に作成されているバックアップソースプログラム蓄積部８２６をアーカイブし、バックアップソースプログラム蓄積部１０２６を出力し、目的プログラム毎に作成されている関連情報蓄積部８２７をアーカイブし、関連情報蓄積部１０２７を出力し、目的プログラム毎に作成されている、隠蔽された目的プログラム８２８をアーカイブし、隠蔽されたライブラリ１０２８を出力する。つまり、バックアップソースプログラム蓄積部８２６と関連情報蓄積部８２７、隠蔽された目的プログラム８２８は、目的プログラムの生成時に目的プログラムと１対１で自動生成されているので、目的プログラムをアーカイブする作業と同様に、これらをアーカイブすることにより生成するライブラリのバックアップソースプログラム蓄積部１０２６と関連情報蓄積部１０２７、隠蔽されたライブラリ１０２８を生成する仕掛けである。
【００３５】
更に、図１１に、ソースプログラム、目的プログラム、ライブラリ及び入力パラメータを入力として、実行プログラムを生成するためのコンパイル／リンケージ装置の一例での構成を示す。このコンパイル／リンケージ装置１１２０も、コンパイル装置やアーカイブ装置１０１２の一部構成要素を流用して構成可能とされており、したがって、コンパイル装置に一体的に組込み可能とされていることからすれば、特殊形態のコンパイル装置ともいい得るものとなっている。図１１に示すように、コンパイル／リンケージ装置１１２０は、ソースプログラム１１１０、ダミーの目的プログラム１１１１、ダミーのライブラリ１１１２及び入力パラメータ１１１３を入力とし、その装置内部には、パラメータ解析部１１２１、コンパイル処理実行部１１２２、リンケージ処理実行部１１２３、ソースプログラムバックアップ実行部１１２４、関連情報生成部１１２５及びコンパイル／リンケージ結果出力部１１２６を含むようにして構成されており、装置の出力として、実行プログラム１１３０が出力されるようになっている。
【００３６】
そのコンパイル／リンケージ装置１１２０での動作について説明すれば、パラメータ解析部１１２１では、入力ファイルの種別が判別されており、入力ファイルがダミーの目的プログラム１１１１、ダミーのライブラリ１１１２であった場合は、それぞれフルパス名称が生成される。また、ソースプログラム１１１０が入力されている場合は、コンパイル処理実行部１１２２において、ソースプログラム１１１０のコンパイル処理が行われる。もしも、その際に、コンパイル処理実行部１１２２で、エラーが発生した場合は、その旨が画面に表示され、エラー終了となるが、コンパイル処理が正常裡に終了した場合、またはソースプログラム１１１０が入力として指定されなかった場合、リンケージ処理実行部１１２３では、ダミーの目的プログラム１１１１のフルパス名称からは、隠蔽された目的プログラム８２８が検出され、また、ダミーのライブラリ１１１２のフルパス名称からは、隠蔽されたライブラリ１０２８が検出された上、リンケージ処理が行われる。
【００３７】
もしも、そのリンケージ処理においてエラーが発生した場合は、その旨が画面に表示され、エラー終了となるが、リンケージ処理が正常裡に終了した場合、ソースプログラムバックアップ実行部１１２４では、目的プログラム生成時に作成されたバックアップソース蓄積部８２６から目的プログラム生成時のソースプログラムが取り込まれ、また、ライブラリ生成時に作成されたバックアップソースプログラム蓄積部１０２６からライブラリ生成時のソースプログラムが取り込まれるが、これらソースプログラムは入力のソースプログラム１１１０とともにバックアップソースプログラム蓄積部１２６に格納される。次いで、関連情報生成部１１２５では、目的プログラム生成時に作成された関連情報蓄積部８２７から目的プログラム生成時の関連情報が取り込まれ、また、ライブラリ生成時に作成された関連情報蓄積部１０２７からライブラリ生成時の関連情報が取り込まれるが、これら関連情報は、ソースプログラム１１１０及び入力パラメータ１１１３とともに関連情報蓄積部１２７に格納される。最後に、コンパイル／リンケージ結果出力部１１２６からは、実行プログラム１１３０が出力される。
【００３８】
更にまた、バックアップされたソースプログラムの取出し装置の一例での構成を図１２に示す。このバックアップソースプログラム取出し装置１２２０の構成事情も、既述のアーカイブ装置１０１２やコンパイル／リンケージ装置１１２０と同様となっている。図１２に示すように、バックアップソースプログラム取出し装置１２２０は、入力パラメータ（実行プログラムのフルパス名称）１２１０を入力とし、その装置内部には、パラメータ解析部１２２１、関連情報検索部１２２２、実行プログラム生成履歴表示部１２２３、ソースプログラムバックアップ取り出し指定部１２２４及びソースプログラムバックアップ取出し実行部１２２５を含むようにして構成されており、装置の出力として、ソースプログラムバックアップ１２３０及びコンパイルオプション１２３１が出力されている。
【００３９】
そのバックアップソースプログラム取出し装置１２２０での動作について説明すれば、パラメータ解析部１２２１では、入力パラメータ１２１０が解析されることで、実行プログラム名称のフルパス名称が生成される。次いで、関連情報検索部１２２２では、そのフルパス名称に基づき、関連情報蓄積部１２７内が検索されるが、検索の結果、実行プログラムの生成履歴が検索され得なかった場合は、エラーとして処理は終了される。しかし、実行プログラムの生成履歴が検索され得た場合、実行プログラム生成履歴表示部１２２３では、関連情報蓄積部１２７からの、実行プログラムの生成履歴情報が番号が付加された状態として画面上に表示される。また、ソースプログラムバックアップ取出し指定部１２２４では、作業者によりソースプログラムのバックアップが取出されるべき、生成履歴の日付が番号にて指定される。これによりソースプログラムバックアップ取出し実行部１２２５からは、指定された生成履歴の日付に該当するソースプログラムバックアップ１２３０及びコンパイルオプション１２３１が、テンポラリ領域にコピーされた状態として出力されるようになっている。
【００４０】
以上のように、本発明によるコンパイル装置では、従来のコンパイル処理過程の中で自動的にソースプログラムのバックアップを行い、また、実行プログラムとバックアップされたソースプログラムの関連付け情報が機械的に格納可能とされている。これと同様にして、複数のソースファイルの入力があった場合にも、ソースプログラムのバックアップを行い、実行プログラムとバックアップされたソースプログラムの関連付けを自動的に行うことが可能となっている。
【００４１】
最後に、本発明によるコンパイル用プログラムや記憶媒体について説明する。先ずコンパイル用プログラムについて説明すれば、これは、文字通り、コンパイル装置上で実行されることによって、入力されたソースプログラムをコンパイルし、コンパイル結果ファイルを得るためのものとされる。したがって、基本的には、ソースプログラムのバックアップファイルを作成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順と、ソースプログラムとコンパイル結果ファイルを関連付けるための関連情報を生成した上、ソースプログラムそれぞれに対し共通に設けられた蓄積手段に蓄積する手順とを含むものとして構成される。
【００４２】
次に、記憶媒体について説明すれば、これは、適当な記憶媒体（フロッピーディスク等）に上記コンパイル用プログラムが予め記憶されたものとされる。コンパイル用プログラムが予め記憶された記憶媒体が多数製造される場合には、多くの顧客へのコンパイル用プログラムの提供が可能となり、顧客それぞれでは、本発明に係るコンパイル処理が容易に実施され得るものである。
【００４３】
以上、本発明者によってなされた発明を実施の形態に基づき、具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【００４４】
【図１】本発明によるコンパイル装置の一例での基本的な構成を示す図である。
【図２】そのコンパイル装置での全体処理の概要フロー例を示す図である。
【図３】そのコンパイル装置の１構成要素としてのパラメータ解析部での処理フロー例を示す図である。
【図４】同じく、そのコンパイル装置の１構成要素としてのソースプログラムバックアップ実行部での処理フロー例を示す図である。
【図５】同じく、そのコンパイル装置の１構成要素としての関連情報生成部での処理フロー例を示す図である。
【図６】同じく、そのコンパイル装置の１構成要素としてのバックアップソースプログラム蓄積部の構造を示す図である。
【図７】同じく、そのコンパイル装置の１構成要素としての関連情報蓄積部の構造を示す図である。
【図８】目的プログラムの生成に係る、本発明によるコンパイル装置の一例での基本的な構成を示す図である。
【図９】そのコンパイル装置におけるバックアップソースプログラム蓄積部、関連情報蓄積部、隠蔽された目的プログラムの格納方法を説明するための図である。
【図１０】目的プログラムをアーカイブし、ライブラリを生成するアーカイブ装置の一例での構成を示す図である。
【図１１】実行プログラムを生成するコンパイル／リンケージ装置の一例での構成を示す図である。
【図１２】バックアップされたソースプログラムの取出し装置の一例での構成を示す図である。
【符号の説明】
【００４５】
１０，８１０…ソースプログラム、１１，８１１…入力パラメータ、１２，８１２…コンパイル装置、１２０，８２０…パラメータ解析部、１２１，８２１…コンパイル処理実行部、１２２…コンパイル結果実行プログラムバッファ、１２３，８２３…ソースプログラムバックアップ実行部、１２４，８２４…関連情報生成部、１２５，８２５…コンパイル結果出力部、１２６，８２６…バックアップソースプログラム蓄積部、１２７，８２７…関連情報蓄積部、１３…実行プログラム、８２２…コンパイル結果目的プログラムバッファ、８１３…ダミーの目的プログラム、８２８…隠蔽された目的プログラム
【図１】
2005301749.tif 000003
【図２】
2005301749.tif 000004
【図３】
2005301749.tif 000005
【図４】
2005301749.tif 000006
【図５】
2005301749.tif 000007
【図６】
2005301749.tif 000008
【図７】
2005301749.tif 000009
【図８】
2005301749.tif 000010
【図９】
2005301749.tif 000011
【図１０】
2005301749.tif 000012
【図１１】
2005301749.tif 000013
【図１２】
2005301749.tif 000014