(57)【特許請求の範囲】
【請求項１】
コンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを含む統合データを取得するデータ取得部と、
前記データ取得部によって取得された統合データから、コードおよび仕様書データをそれぞれ特定するデータ特定部と、
前記データ特定部によって特定されたコードが記述するコンピュータプログラムの内容を表示する第１表示領域と前記データ特定部によって特定された仕様書データが記述するプログラム仕様の内容を表示する第２表示領域とを単一の画面に含めて所定の表示手段に表示させる表示制御部と、
前記データ取得部によって取得された統合データに含まれるコードおよび仕様書データのうちの一方がユーザによって編集対象として指定された場合、他方が前記ユーザによって編集対象として指定されることを制限する指定制限部と、
を備えることを特徴とするプログラム処理装置。
【請求項２】
前記表示制御部は、前記第１表示領域に表示される内容に対応するコードを編集対象として指定するためのプログラム編集ボタンと、前記第２表示領域に表示される内容に対応する仕様書データを編集対象として指定するための仕様書編集ボタンを前記単一の画面に含めて表示させ、
前記指定制限部は、
前記ユーザによって編集対象として指定されているコードが記述する内容を編集可能な状態で表示する画面において、当該画面の第２表示領域に表示される内容に対応する仕様書データが編集対象として指定されることを禁止し、
前記ユーザによって編集対象として指定されている仕様書データが記述する内容を編集可能な状態で表示する画面において、当該画面の第１表示領域に表示される内容に対応するコードが編集対象として指定されることを禁止することを特徴とする請求項１に記載のプログラム処理装置。
【請求項３】
前記データ取得部によって取得される統合データは、コードのプログラミング言語を示す言語データを含み、
本プログラム処理装置はさらに、
前記データ取得部によって取得された統合データに含まれるコードに対してユーザからのコンパイル指定を受け付けるコンパイル指定受付部と、
前記コンパイル指定受付部がコンパイル指定を受け付けた場合、前記データ取得部によって取得された統合データに含まれる言語データが示すプログラミング言語に対応するコンパイラを選択するコンパイラ選択部と、
指定されたコードを前記コンパイラ選択部によって選択されたコンパイラによってコンパイルするコンパイル実行部と、
を備え、
前記コンパイル指定受付部は、
前記データ取得部によって取得された統合データに含まれる仕様書データが編集対象として指定されていない場合、当該統合データに含まれるコードに対して前記ユーザからのコンパイル指定を受け付けし、
前記データ取得部によって取得された統合データに含まれる仕様書データが編集対象として指定されている場合、当該統合データに含まれるコードに対して前記ユーザからのコンパイル指定を受け付けないことを特徴とする請求項１または２に記載のプログラム処理装置。
【請求項４】
コンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとが互いにリンクされており、その一方を表示のために読み出す場合、リンクに基づいて他方も読み出し、
互いにリンクされているコードと仕様書データのうちの一方についてユーザによる編集を可能とする場合に、他方について前記ユーザによる編集を禁止することを特徴とするプログラム処理方法。
【請求項５】
コンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを含む統合データを取得する機能と、
取得された統合データから、コードおよび仕様書データをそれぞれ特定する機能と、
特定されたコードが記述するコンピュータプログラムの内容を表示する第１表示領域と特定された仕様書データが記述するプログラム仕様の内容を表示する第２表示領域とを単一の画面に含めて所定の表示手段に表示させる機能と、
取得された統合データに含まれるコードおよび仕様書データのうちの一方がユーザによって編集対象として指定された場合、他方が前記ユーザによって編集対象として指定されることを制限する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびそのプログラム仕様を処理するプログラム処理技術に関する。
【背景技術】
【０００２】
近年、組み込み製品の高機能化等により組み込み製品に組み込まれるコンピュータプログラムの数や規模や複雑さが増大している。そこで、そのようなコンピュータプログラムの開発の現場では、開発だけでなくコンピュータプログラム自体の管理にも手間がかかるようになってきている。
【０００３】
コンピュータプログラムの管理の効率化に関し、従来では例えば特許文献１に記載されるプログラム編集装置が提案されている。このプログラム編集装置は、種々のプログラムのソースコードを記憶するソースコード記憶手段と、上記各ソースコードに対応して作成したドキュメントであって、上記各ソースコードの内容を各属性毎に詳細に記述したドキュメントを記憶するドキュメント記憶手段と、を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１２９３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンピュータプログラムの開発においては、コンピュータプログラムとそのプログラム仕様とをディスプレイに同時に表示させ、それらを参照しながら作業を進めることが多い。しかしながら、特許文献１に記載されるプログラム編集装置のようにソースコードとドキュメントとが別々に記憶される構成では、ソースコードおよび対応するドキュメントの表示のためにソースコードを指定する作業とドキュメントを指定する作業とが別々に発生し手間である。
【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータプログラムおよびプログラム仕様の表示処理をより効率化できるプログラム処理技術の提供にある。
【課題を解決するための手段】
【０００７】
本発明のある態様はプログラム処理装置に関する。このプログラム処理装置は、コンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを含む統合データを取得するデータ取得部と、データ取得部によって取得された統合データから、コードおよび仕様書データをそれぞれ特定するデータ特定部と、データ特定部によって特定されたコードが記述するコンピュータプログラムの内容を表示する第１表示領域とデータ特定部によって特定された仕様書データが記述するプログラム仕様の内容を表示する第２表示領域とを単一の画面に含めて所定の表示手段に表示せしめる表示制御部と、を備える。
【０００８】
この態様によると、コードと仕様書データとを含む統合データを取得し、そのコードが記述するコンピュータプログラムの内容とその仕様書データが記述するプログラム仕様の内容とを表示する単一の画面を表示手段に表示できる。
【０００９】
本発明の別の態様は、プログラム処理方法である。この方法では、コンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとが互いにリンクされており、その一方を表示のために読み出す場合、リンクに基づいて他方も読み出す。
【００１０】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、コンピュータプログラムおよびプログラム仕様の表示処理をより効率化できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るプログラム処理装置の機能および構成を示すブロック図である。
【図２】図１のデータ保持部に保持される統合ファイルのデータ構造の一例を示す模式図である。
【図３】編集画面の代表画面図である。
【図４】図１の指定制限部および編集制御部における編集処理の一例を示すフローチャートである。
【図５】「原点検出完了」がユーザによってダブルクリックされた場合の編集画面の代表画面図である。
【図６】図１のコンパイル制御部における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１４】
実施の形態に係るプログラム処理装置では、組み込み製品などに使用されるコンピュータプログラムを記述するコードとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとが互いにリンクされた状態で保持部に保持される。プログラム処理装置では、コードおよび仕様書データのうちの一方が表示のために読み出される場合、リンクに基づいて他方も読み出される。特にプログラム処理装置では、コードと仕様書データとはひとつの統合ファイルとして一体化され、その統合ファイルをひとつの処理単位として保持や表示の処理が行われる。したがって、ユーザは統合ファイルを指定するだけで所望のコンピュータプログラムの内容とそれに対応するプログラム仕様の内容とをディスプレイに表示させることができる。ユーザは別途メモ等を見ながらコンピュータプログラムやプログラム仕様を探す必要はないので、実施の形態に係るプログラム処理装置によるとそこでの手間や人為的なミスを省くことができる。
【００１５】
コンピュータプログラムを記述するコードは所定のプログラミング言語に基づいて生成される。コードは、それぞれ異なるプログラミング言語に基づいて生成された複数の部分を含んでもよい。また、仕様書データは動画、静止画、音声、テキストなどの種々のフォーマットのデータを含みうる。
【００１６】
図１は、実施の形態に係るプログラム処理装置１００の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００１７】
プログラム処理装置１００は、マウスやキーボードなどの入力装置１０２およびＬＣＤ（Liquid Crystal Display）などのディスプレイ１０４と接続される。なお、プログラム処理装置１００はインターネットなどのネットワーク（不図示）を介して入力装置やディスプレイと接続されてもよい。
プログラム処理装置１００は、データ取得部１１０と、データ特定部１２０と、表示制御部１３０と、指定制限部１４０と、編集制御部１５０と、コンパイル制御部１６０と、データ保持部１７０と、を備える。
【００１８】
図２は、データ保持部１７０に保持される統合ファイル３００のデータ構造の一例を示す模式図である。統合ファイル３００は、構成要素情報格納領域３０２と、編集可能フラグ３０４と、コードが保存されるプログラム層３０６と、仕様書データが保存される仕様書層３０８と、を含む。プログラム層３０６は使用しているプログラミング言語ごとに保存領域を有し、図３の例ではシーケンスプログラムを記述するシーケンスコードが保存されるシーケンスプログラム領域３１０と、制御ループプログラムを記述する制御ループコードが保存される制御ループプログラム領域３１２と、プログラミング言語フラグ３１４と、を有する。シーケンスプログラム領域３１０は、シーケンスコードが保存されるシーケンスデータ保存領域３１６と、現在の編集内容が一時的に保存されるシーケンスクリップボード領域３１８と、を有する。制御ループプログラム領域３１２は、制御ループコードが保存される制御ループデータ保存領域３２０と、現在の編集内容が一時的に保存される制御ループクリップボード領域３２２と、を有する。仕様書層３０８は、仕様書データが保存される仕様書データ保存領域３２４と、現在の編集内容が一時的に保存される仕様書クリップボード領域３２６と、を有する。
【００１９】
構成要素情報格納領域３０２は、統合ファイル３００を構成する構成要素のデータ保持部１７０内での保存領域へのアドレスと、その構成要素の属性と、を対応付けて記憶する。
統合ファイル３００の構成要素は、例えばシーケンスプログラムのシーケンスの一要素や制御ループプログラムの制御ループの一要素や仕様書データに含まれる動画データ、静止画データである。
構成要素の属性は、編集可能フラグ３０４およびプログラミング言語フラグ３１４における分類に対応するよう設定され、例えばその構成要素がコードなのか仕様書データなのかの別を示す情報を含み、さらに、コードのなかでもシーケンスプログラムに属するものなのか制御ループプログラムに属するものなのかを示す情報または仕様書データのなかでもどのようなフォーマットのデータなのかを示す情報を含む。
【００２０】
編集可能フラグ３０４は後述のフラグ操作部１４４によって操作される。編集可能フラグ３０４は、「プログラム」にのみフラグが立っている第１状態と、「仕様書」にのみフラグが立っている第２状態と、「プログラム」、「仕様書」のいずれにもフラグが立っていない第３状態、の３つの状態を取り得る。第１状態はユーザがコードを編集中であることを示し、第２状態はユーザが仕様書データを編集中であることを示し、第３状態はコード、仕様書データいずれも編集されておらず、したがっていずれも編集対象として指定可能であることを示す。
【００２１】
プログラミング言語フラグ３１４は、統合ファイル３００に含まれるコードのプログラミング言語を示すと共に、どのコードがコンパイル対象となっているかを示す。プログラミング言語フラグ３１４は後述のコンパイル指定受付部１６２によって操作される。図２の例ではプログラミング言語フラグ３１４は、コードに「シーケンス」用のプログラミング言語および「制御ループ」用のプログラミング言語が使用されていることを示す。また、プログラミング言語フラグ３１４は、「シーケンス」にのみフラグが立っている第４状態と、「制御ループ」にのみフラグが立っている第５状態と、「シーケンス」、「制御ループ」のいずれにもフラグが立っていない第６状態、の３つの状態を取り得る。第４状態はシーケンスコードがユーザによってコンパイル対象として指定されたことを示し、第５状態は制御ループコードがユーザによってコンパイル対象として指定されたことを示す。
なお、データ取得部１１０によって統合ファイル３００が取得される前の状態すなわちデフォルトでは編集可能フラグ３０４は第３状態、プログラミング言語フラグ３１４は第６状態にある。
【００２２】
また、図２ではコードがシーケンス用プログラミング言語に基づいて生成されたシーケンスコードおよび制御ループ用プログラミング言語に基づいて生成された制御ループコードを含む場合について説明しているが、コードの構成はこれに限定されない。例えばコードはそれぞれ異なるプログラミング言語に基づいて生成された３つ以上の部分を含んでもよく、その場合プログラミング言語フラグ３１４においてフラグを付与すべき対象は３つ以上となる。
【００２３】
図１に戻り、データ取得部１１０は統合ファイルを取得する。データ取得部１１０は、統合ファイル登録部１１２と、読込指定受付部１１４と、を含む。
統合ファイル登録部１１２は、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＵＳＢ（Universal Serial Bus）メモリなどの外部の記憶媒体から、またはネットワークを介して、統合ファイルを取得し、取得された統合ファイルをデータ保持部１７０に登録する。あるいはまた統合ファイル登録部１１２は、ユーザによって入力装置１０２を介して入力された情報に基づき統合ファイルを生成し、生成された統合ファイルをデータ保持部１７０に登録してもよい。
【００２４】
ユーザは、プログラム処理装置１００のデータ保持部１７０に保持されている統合ファイルのなかから、閲覧や編集を希望する統合ファイルを読込対象の統合ファイルとして指定する。ユーザは、統合ファイルのファイル名などの統合ファイルを特定する統合ファイルＩＤを入力装置１０２を介して入力してもよい。読込指定受付部１１４は、ユーザによるそのような読込対象の統合ファイルの指定を受け付ける。読込指定受付部１１４は、ユーザによって入力された統合ファイルＩＤを受け付けてもよい。
【００２５】
データ特定部１２０は、読込指定受付部１１４によって指定が受け付けられると、読込対象の統合ファイルから、コードおよび仕様書データをそれぞれ特定する。データ特定部１２０は、コード特定部１２２と、仕様書特定部１２４と、を含む。コード特定部１２２は、読込対象の統合ファイルからコードを特定する。仕様書特定部１２４は、読込対象の統合ファイルから仕様書データを特定する。コード特定部１２２は、読込対象の統合ファイルの構成要素情報格納領域３０２を参照し、構成要素の属性に基づいて、コードが保存されている保存領域へのアドレスを抽出してもよい。仕様書特定部１２４についても同様である。
【００２６】
表示制御部１３０は、データ特定部１２０によって特定されたコードが記述するコンピュータプログラムの内容を表示するコード表示領域とデータ特定部１２０によって特定された仕様書データが記述するプログラム仕様の内容を表示する仕様書表示領域とを単一の編集画面に含めてディスプレイ１０４に表示させる。表示制御部１３０は、コード表示領域生成部１３２と、仕様書表示領域生成部１３４と、編集画面生成部１３６と、を含む。
【００２７】
コード表示領域生成部１３２は、コード特定部１２２によって特定されたコードからコード表示領域を生成する。コード表示領域は、コンピュータプログラムの内容をグラフィカルに表示してもよい。
【００２８】
仕様書表示領域生成部１３４は、仕様書特定部１２４によって特定された仕様書データから仕様書表示領域を生成する。仕様書表示領域は、仕様書データが静止画データであればその静止画を表示する領域であり、テキストデータであればそのテキストを表示する領域であり、動画データであればその動画を表示する領域である。
【００２９】
編集画面生成部１３６は、コード表示領域生成部１３２によって生成されたコード表示領域および仕様書表示領域生成部１３４によって生成された仕様書表示領域を含む単一の編集画面をディスプレイ１０４に表示させるための表示データを生成する。編集画面生成部１３６は、生成された表示データをディスプレイ１０４に送信する。
【００３０】
図３は、編集画面４００の代表画面図である。編集画面４００は、コード表示領域４０２と、仕様書表示領域４０４と、プログラム編集ボタン４０６と、仕様書編集ボタン４０８と、シーケンスコンパイルボタン４１０と、ループコンパイルボタン４１２と、を有する。
【００３１】
図１に戻り、指定制限部１４０は、読込対象の統合ファイルに含まれるコードおよび仕様書データのうちの一方がユーザによって編集対象として指定された場合、他方がユーザによって編集対象として指定されることを制限する。指定制限部１４０は、編集指定受付部１４２と、フラグ操作部１４４と、を含む。
【００３２】
ユーザは、編集画面のコード表示領域または仕様書表示領域の所望の箇所をダブルクリックすることにより、あるいはまたプログラム編集ボタンまたは仕様書編集ボタンをクリックすることにより、コードまたは仕様書データのいずれか一方を編集対象として指定する。
【００３３】
編集指定受付部１４２は、編集対象として指定された一方と読込対象の統合ファイルの編集可能フラグとが対応するか否かを判定する。具体的には編集指定受付部１４２は、指定された一方がコードであり編集可能フラグが第１状態または第３状態である場合、および、指定された一方が仕様書であり編集可能フラグが第２状態または第３状態である場合、対応すると判定する。それ以外の場合、例えば指定された一方がコードであり編集可能フラグが第２状態である場合、編集指定受付部１４２は対応しないと判定する。
【００３４】
対応すると判定された場合、編集指定受付部１４２はその指定すなわちユーザによるコードおよび仕様書データのうちの一方の編集対象としての指定を受け付ける。
対応しないと判定された場合、編集指定受付部１４２はその指定を受け付けない。この場合編集指定受付部１４２は指定が禁止されている旨を示す警告をディスプレイ１０４に表示させてもよい。
【００３５】
例えば、編集可能フラグが第３状態のときにプログラム編集ボタンが押し下げられると、編集指定受付部１４２はコードを編集対象として受け付ける。編集可能フラグが第３状態のときに仕様書編集ボタンが押し下げられると、編集指定受付部１４２は仕様書データを編集対象として受け付ける。編集可能フラグが第３状態のときにコード表示領域に表示される構成要素のひとつがダブルクリックされると、編集指定受付部１４２はコードのその構成要素を編集対象として受け付ける。
【００３６】
フラグ操作部１４４は編集指定受付部１４２によって指定が受け付けられると、フラグ操作の必要性を判定する。フラグ操作部１４４は、読込対象の統合ファイルの編集可能フラグが第１状態または第２状態にある場合、フラグ操作は必要ないと判定する。フラグ操作部１４４は、編集可能フラグが第３状態にある場合、フラグ操作が必要であると判定する。
【００３７】
フラグ操作部１４４は、フラグ操作が必要であると判定された場合、読込対象の統合ファイルの編集可能フラグを、指定された編集対象に対応するよう変更する。例えばフラグ操作部１４４は、指定された編集対象がコードである場合、編集可能フラグを第３状態から第１状態に変更する。フラグ操作部１４４は、指定された編集対象が仕様書データである場合、編集可能フラグを第３状態から第２状態に変更する。
【００３８】
編集制御部１５０は編集指定受付部１４２によって指定が受け付けられると、指定された編集対象に対する編集を制御する。例えば、編集制御部１５０は、編集対象に対する編集の内容を入力装置１０２を介してユーザから取得し、取得された編集の内容をシーケンスクリップボード領域、制御ループクリップボード領域、仕様書クリップボード領域等に保存してもよい。編集制御部１５０は、編集内容のセーブ等によりユーザによって編集の終了が示されると、編集可能フラグを第３状態に変更する。
【００３９】
図４は、指定制限部１４０および編集制御部１５０における編集処理の一例を示すフローチャートである。ここでは、図３に示される編集画面４００の構成要素、例えばコード表示領域４０２中の「原点検出完了」がユーザによってダブルクリックされた場合を考える。編集指定受付部１４２は、指定された構成要素すなわち「原点検出完了」を統合ファイルの構成要素情報格納領域において検索する（Ｓ２０２）。編集指定受付部１４２は、検索の結果から、指定された構成要素すなわち「原点検出完了」の属性を取得する（Ｓ２０４）。この取得された属性は「原点検出完了」がコードの一要素であることを示す。編集指定受付部１４２は、取得された属性が編集可能フラグと対応しているか否かを判定する（Ｓ２０６）。対応しないと判定された場合（Ｓ２０６のＮ）、編集指定受付部１４２は指定を受け付けず処理を終了する。対応すると判定された場合（Ｓ２０６のＹ）、編集指定受付部１４２は指定された構成要素を編集対象として受け付ける（Ｓ２０８）。ここでは「原点検出完了」がユーザによってダブルクリックされたとき、編集可能フラグは第３状態にある場合を考える。したがって編集指定受付部１４２は対応すると判定し、「原点検出完了」を編集対象として受け付ける。
【００４０】
フラグ操作部１４４は、編集可能フラグが第３状態であるか否かを判定する（Ｓ２１０）。第３状態でない場合（Ｓ２１０のＮ）、フラグ操作部１４４はフラグ操作をせずに処理を編集制御部１５０に渡す。第３状態である場合（Ｓ２１０のＹ）、フラグ操作部１４４は編集可能フラグを変更する（Ｓ２１２）。「原点検出完了」の例ではフラグ操作部１４４は編集可能フラグを第３状態から第１状態に変更する。編集制御部１５０は、指定された構成要素すなわち「原点検出完了」にディスプレイ１０４上で印をつけ（Ｓ２１４）、それに対する編集を制御する。
【００４１】
図５は、「原点検出完了」がユーザによってダブルクリックされた場合の編集画面４２０の代表画面図である。「原点検出完了」の周りには印４２２がつけられる。
【００４２】
図１に戻り、コンパイル制御部１６０は、読込対象の統合ファイルに含まれるコードのコンパイルを制御する。コンパイル制御部１６０は、コンパイル指定受付部１６２と、コンパイラ選択部１６４と、コンパイル実行部１６６と、を含む。
【００４３】
ユーザは、編集画面のシーケンスコンパイルボタンまたはループコンパイルボタンをクリックすることにより、シーケンスコードおよび制御ループコードのうちの一方をコンパイル対象として指定する。
【００４４】
コンパイル指定受付部１６２は、コードが編集可能となっているか否かを判定する。具体的にはコンパイル指定受付部１６２は、編集可能フラグが第１状態または第３状態である場合コードが編集可能となっていると判定し、第２状態である場合編集可能でないと判定する。
【００４５】
コードが編集可能となっていると判定された場合、コンパイル指定受付部１６２はその指定すなわちユーザによるシーケンスコードおよび制御ループコードのうちの一方のコンパイル対象としての指定を受け付ける。
編集可能でないと判定された場合、コンパイル指定受付部１６２はその指定を受け付けない。この場合コンパイル指定受付部１６２は指定が禁止されている旨を示す警告をディスプレイ１０４に表示させてもよい。
【００４６】
コンパイル指定受付部１６２は、コンパイル対象の指定が受け付けられると、読込対象の統合ファイルのプログラミング言語フラグを、指定されたコンパイル対象に対応するよう変更する。例えばコンパイル指定受付部１６２は、指定されたコンパイル対象がシーケンスコードである場合、プログラミング言語フラグを第６状態から第４状態に変更する。コンパイル指定受付部１６２は、指定されたコンパイル対象が制御ループコードである場合、プログラミング言語フラグを第６状態から第５状態に変更する。
【００４７】
コンパイラ選択部１６４は、コンパイル指定受付部１６２によってプログラミング言語フラグが変更されると、その変更されたプログラミング言語フラグのなかでフラグが立てられているプログラミング言語に対応するコンパイラを選択する。例えば、コンパイラ選択部１６４は、変更されたプログラミング言語フラグが第４状態にある場合シーケンス用のコンパイラを選択し、変更されたプログラミング言語フラグが第５状態にある場合制御ループ用のコンパイラを選択する。
【００４８】
コンパイル実行部１６６は、コンパイル対象をコンパイラ選択部１６４によって選択されたコンパイラによってコンパイルする。特にコンパイル実行部１６６は、変更されたプログラミング言語フラグに対応する属性を有する構成要素のアドレスを構成要素情報格納領域３０２から抽出する。コンパイル実行部１６６は、抽出されたアドレスに基づきコンパイル対象のコードをデータ保持部１７０から読み出し、それをコンパイラ選択部１６４によって選択されたコンパイラによってコンパイルする。
【００４９】
例えば、変更されたプログラミング言語フラグが第４状態にある場合、コンパイル実行部１６６はシーケンスプログラムに属するという属性を有する構成要素のアドレスすなわちシーケンスデータ保存領域のアドレスを構成要素情報格納領域３０２から抽出する。
【００５０】
図６は、コンパイル制御部１６０における処理の一例を示すフローチャートである。コンパイル指定受付部１６２は、編集可能フラグが第１状態または第３状態になっているか判定する（Ｓ２１６）。なっていない場合（Ｓ２１６のＮ）、コンパイル指定受付部１６２はコンパイル対象の指定を受け付けず、処理を終了する。なっている場合（Ｓ２１６のＹ）、コンパイル指定受付部１６２はプログラミング言語フラグを変更する（Ｓ２１８）。コンパイラ選択部１６４は、変更されたプログラミング言語フラグに基づきコンパイラを選択する（Ｓ２２０）。コンパイル実行部１６６は、変更されたプログラミング言語フラグと対応する属性を有する構成要素のアドレスを抽出する（Ｓ２２２）。コンパイル実行部１６６は、抽出されたアドレスに基づいて読み出されたコードを、選択されたコンパイラによってコンパイルする（Ｓ２２４）。
【００５１】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【００５２】
以上の構成によるプログラム処理装置１００の動作を説明する。
プログラム処理装置１００は、コードと仕様書データとを含む統合ファイルを処理単位として保持する。コンピュータプログラムの内容または仕様書の内容もしくはその両方を閲覧しまたは編集したいと思うユーザは、プログラム処理装置１００に対して統合ファイルを指定する。するとプログラム処理装置１００は指定された統合ファイルを読み出し、コンピュータプログラムの内容および仕様書の内容を単一の編集画面に含めてディスプレイ１０４に表示させる。
【００５３】
本実施の形態に係るプログラム処理装置１００によると、コードと仕様書データとを含む統合ファイルが取得されて処理され、コードが記述するコンピュータプログラムの内容および仕様書データが記述するプログラム仕様の内容を含む単一の編集画面がディスプレイ１０４に表示される。したがって、ユーザはひとつの統合ファイルを指定するだけで、対応するコンピュータプログラムとプログラム仕様とを同じ画面に表示させて閲覧、編集することができる。これにより、対応するコンピュータプログラムおよびプログラム仕様のうちの一方から他方を探す手間を省ける。例えば他人のコンピュータプログラムを閲覧する際にそのプログラム仕様をすぐに参照することができるので、コンピュータプログラムの理解を早めることができる。
【００５４】
また、対応するコンピュータプログラムおよびプログラム仕様のうちの一方を変更した場合、他方も対応するよう変更する必要がある。本実施の形態に係るプログラム処理装置１００によると、対応するコンピュータプログラムおよびプログラム仕様は単一の編集画面に表示されるので、うっかりミス等により他方の変更が忘れられ結果として両者の整合が取れなくなる可能性を低減できる。これに関し編集制御部１５０は、一方が変更された場合、他方の変更の必要性をユーザにディスプレイ１０４を介して通知してもよい。
【００５５】
また、本実施の形態に係るプログラム処理装置１００では、編集画面に表示されるコンピュータプログラムおよびプログラム仕様のうちの一方が編集中である場合は他方に対する編集は制限される。これにより、両者が並行して変更されることによる不整合の発生を抑えることができる。例えば、プログラム処理装置１００によるとユーザは、コンピュータプログラムおよびプログラム仕様のうちの一方を変更してその変更内容を確定し、次に他方を一方の変更内容に合わせて変更して整合性を取る、という作業の流れを採用しやすくなる。
【００５６】
また、本実施の形態に係るプログラム処理装置１００では、編集画面自体は編集可能フラグの状態によらないので、コンピュータプログラムおよびプログラム仕様のどちらが編集中であっても、編集画面上または印刷物上では同じ形で統合ファイルを表示できる。
【００５７】
また、本実施の形態に係るプログラム処理装置１００では、コードおよび仕様書データが一体化された統合ファイルでもコンピュータプログラムのコンパイルが可能となる。さらに統合ファイルに複数のコンピュータプログラムが含まれる場合は、コンピュータプログラム毎のコンパイルが可能となる。
【００５８】
以上、実施の形態に係るプログラム処理装置１００の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５９】
実施の形態では、コードと仕様書データとを含む統合ファイルを表示処理の単位とする場合について説明したが、これに限られず、例えば対応する仕様書データへのリンクを有するコードを表示処理の単位としてもよい。この場合、データ特定部は、ユーザによってコードが指定された場合、そのコードが有するリンクを参照し、そのコードの特定に合わせてそのリンクが示す仕様書データも同時に特定する。対応するコードへのリンクを有する仕様書データを表示処理の単位とする場合も同様である。
【００６０】
実施の形態では、プログラミング言語フラグをコードのコンパイルの際に使用する場合について説明したが、これに限られず、例えばコードがそれぞれ異なるプログラミング言語に基づいて生成された複数の部分を含む場合、プログラミング言語フラグは編集中の部分がどれであるかを示す情報として使用されてもよい。
【符号の説明】
【００６１】
１００  プログラム処理装置、  １０２  入力装置、  １０４  ディスプレイ、  １１０  データ取得部、  １２０  データ特定部、  １３０  表示制御部、  １４０  指定制限部、  １５０  編集制御部、  １６０  コンパイル制御部、  １６２  コンパイル指定受付部、  １６４  コンパイラ選択部、  １６６  コンパイル実行部、  １７０  データ保持部。
【図１】
0005645717.tif 000002
【図２】
0005645717.tif 000003
【図３】
0005645717.tif 000004
【図４】
0005645717.tif 000005
【図５】
0005645717.tif 000006
【図６】
0005645717.tif 000007