JP2006268292A - テンプレート編集装置およびテンプレート編集用プログラム - Google Patents
テンプレート編集装置およびテンプレート編集用プログラム Download PDFInfo
- Publication number
- JP2006268292A JP2006268292A JP2005083847A JP2005083847A JP2006268292A JP 2006268292 A JP2006268292 A JP 2006268292A JP 2005083847 A JP2005083847 A JP 2005083847A JP 2005083847 A JP2005083847 A JP 2005083847A JP 2006268292 A JP2006268292 A JP 2006268292A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- template
- component
- correspondence
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】 テンプレートの構成要素と該テンプレートから展開されたソースコードの構成要素との対応関係を容易に把握できるようにする。
【解決手段】 テンプレート編集手段11で編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係をソースコードの生成過程で求め、対応関係記憶手段18に記憶させる。テンプレートとソースコードを表示した状態でキーボード7からのカーソル移動操作に基づいて構成要素選択手段20が選択したソースコード上の構成要素に対応するテンプレート上の構成要素、または、同操作に基づいて構成要素選択手段20が選択したテンプレート上の構成要素に対応するソースコード上の構成要素をハイライトで強調表示する。
【選択図】図2
【解決手段】 テンプレート編集手段11で編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係をソースコードの生成過程で求め、対応関係記憶手段18に記憶させる。テンプレートとソースコードを表示した状態でキーボード7からのカーソル移動操作に基づいて構成要素選択手段20が選択したソースコード上の構成要素に対応するテンプレート上の構成要素、または、同操作に基づいて構成要素選択手段20が選択したテンプレート上の構成要素に対応するソースコード上の構成要素をハイライトで強調表示する。
【選択図】図2
Description
本発明は、ソースコード作成用テンプレートの開発に利用されるテンプレート編集装置および各種のコンピュータをテンプレート編集装置として利用するためのテンプレート編集用プログラムの改良に関する。
ソフトウェアを効率的に開発するために、テンプレートを利用してソースコードを生成することは非常に有効な手法である。
テンプレートは、特殊記号で示される制御部と固定部とから構成される。固定部は、ソースコードの生成時点でソースコードとしてそのまま出力される情報であり、制御部は、ソースコードをカスタマイズするための情報であって、変数,条件分岐,繰り返し処理等を含む。
制御部に記述される変数としては数値変数や文字変数等があり、変数として別途設定された値がソースコードの生成時点でテンプレート編集装置に読み込まれて、ソースコードとして出力される。制御部に記述された条件分岐式は、その条件に合わせてソースコードに出力される部分を切り替える。また、制御部に記述された繰り返し処理は、指定された回数分だけソースコードとして出力される。
制御部に記述される変数としては数値変数や文字変数等があり、変数として別途設定された値がソースコードの生成時点でテンプレート編集装置に読み込まれて、ソースコードとして出力される。制御部に記述された条件分岐式は、その条件に合わせてソースコードに出力される部分を切り替える。また、制御部に記述された繰り返し処理は、指定された回数分だけソースコードとして出力される。
ソースコード作成用テンプレートの開発は、テキストエディタ等を利用した単純なテキスト編集処理により、最初から、または、予め動作確認がなされた信頼あるプログラムのソースコードをもとにして、テンプレート開発者が、固定部,変数,条件分岐,繰り返し処理等のパターンを発見し、このパターンを一般化していくことによって行われる。
テンプレートは種々の変数値の組み合わせと共に展開されて、新しいソースコードとなり、最終的に、展開結果のソースコードがOSやプラットフォームにあわせてコンパイルされて、アプリケーションの一部として使用される。
このように、テンプレートの開発は、テンプレートの修正部分と展開結果のソースコードの対応を目視にてテンプレート開発者が確認し、目的のコードが生成されるようにトライ&エラーで調整を行っていかなくてはならない。
しかし、実際には、通常のテキストエディタ等を利用した場合、テンプレート開発者が修正の都度にテンプレートやソースコードを目視確認することは難しく、結果的に、テンプレートを展開した結果物であるソースコードのイメージのみを頼りに試行錯誤を行わなくてはならないことが多い。
また、テンプレートの単体テストにおいては、このテンプレートを展開することでオリジナルソースコード(アプリケーションソフトウェアを形成するためのソースコードの雛形)と同じものを生成できるかどうかの確認を行う必要がある。具体的には、まず、展開結果のソースコードとオリジナルソースコードとを比較して相違点の有無を調べ、相違がある場合には、相違が発生したソースコードの部分とテンプレートの対応部分とを目視にて確認し、テンプレートを修正しなければならない。しかし、このような修正が行われた後でも、展開されたソースコードを実際に使用した際にコンパイルエラーや実行エラー等の問題が発生することがあり、展開結果であるソースコードを安定して動作させられるようになるまで、テンプレート開発者は、エラー情報や展開結果のソースコードとテンプレートとの対応関係を目視にて確認し、テンプレートを修正しなくてはならない。
このように、テンプレート開発者は、テンプレートと、テンプレートの展開結果であるソースコードと、テンプレートの元情報であるオリジナルソースコードとを相互に参照しながら開発を行わなくてはならず、対応関係の把握や新たに生成されたソースコードの内容の確認に著しく手間取るといった問題があった。
なお、ソフトウェア関連の開発を円滑化するための技術としては、ソフトウェア部品を構成する雛形のアジャスト項目を調整してレプリカを自動生成したり、レプリカ生成時の異常発生情報等を強調表示して際立たせるようにしたものが特許文献1として開示され、また、既存のプログラムをカスタマイズあるいはモデファイしてアプリケーションプログラムの開発を容易化したものが特許文献2として開示されているが、何れも、ソースコード作成用テンプレートの開発に直接的に転用できるものではない。
そこで、本発明の課題は、ソースコード作成用テンプレートと、このテンプレートの元情報であるオリジナルソースコードと、テンプレートの展開結果であるソースコードとを相互に連携させ、対応関係の把握や新たに生成されたソースコードの内容の確認を容易に実施できるテンプレート編集装置およびテンプレート編集用プログラムを提供することにある。
本発明のテンプレート編集装置は、ソースコード作成用テンプレートの開発に利用されるテンプレート編集装置であり、前記課題を達成するため、特に、
テンプレートを編集するためのテンプレート編集手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶する対応関係記憶手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記対応関係記憶手段に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記表示制御手段を介して識別可能に表示する対応関係表示制御手段とを備えたことを特徴とする構成を有する。
テンプレートを編集するためのテンプレート編集手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶する対応関係記憶手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記対応関係記憶手段に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記表示制御手段を介して識別可能に表示する対応関係表示制御手段とを備えたことを特徴とする構成を有する。
以上の構成により、テンプレート編集手段は、キーボード等を介して入力されるテンプレート開発者の指示に従って、テンプレートを編集する。
テンプレートの編集が一旦終了すると、ソースコード生成手段がテンプレートを展開してソースコードを生成し、この際、対応関係記憶手段が、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶する。
また、編集されたテンプレートとソースコードが、表示制御手段によってテンプレート編集装置のディスプレイに表示される。
そして、対応関係表示制御手段が、対応関係記憶手段に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示する。
このように、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係がテンプレート編集装置の内部処理によって自動的にディスプレイ上に表示されるので、テンプレート開発者は、編集されたソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を簡単に把握することができる。
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を各対応関係毎に異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得る。
テンプレートの編集が一旦終了すると、ソースコード生成手段がテンプレートを展開してソースコードを生成し、この際、対応関係記憶手段が、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶する。
また、編集されたテンプレートとソースコードが、表示制御手段によってテンプレート編集装置のディスプレイに表示される。
そして、対応関係表示制御手段が、対応関係記憶手段に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示する。
このように、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係がテンプレート編集装置の内部処理によって自動的にディスプレイ上に表示されるので、テンプレート開発者は、編集されたソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を簡単に把握することができる。
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を各対応関係毎に異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得る。
更に、表示制御手段によって表示されたテンプレートとソースコードの何れか一方から構成要素を手動選択するための構成要素選択手段を併設すると共に、
前記対応関係表示制御手段に、構成要素選択手段で選択された構成要素に対応する他方の構成要素のみを識別可能に表示する絞り込み表示機能を設けるようにしてもよい。
前記対応関係表示制御手段に、構成要素選択手段で選択された構成要素に対応する他方の構成要素のみを識別可能に表示する絞り込み表示機能を設けるようにしてもよい。
このような構成を適用した場合、構成要素選択手段は、キーボード等を介して入力されるテンプレート開発者の指示に従って、ディスプレイ上に表示されているテンプレートの構成要素もしくはソースコードの構成要素のうちの何れかを選択する。この際、何が選択されるかはテンプレート開発者の意図による。
そして、対応関係表示制御手段は、その絞り込み表示機能により、構成要素選択手段で選択された構成要素に対応する他方の構成要素、つまり、テンプレート開発者がテンプレートの構成要素を選択した場合にあっては当該構成要素に対応するソースコードの構成要素のみを、また、テンプレート開発者がソースコードの構成要素を選択した場合にあっては当該構成要素に対応するテンプレートの構成要素のみをディスプレイ上に識別可能に表示する。
従って、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができる。
前記と同様、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を他の文字列と異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得るが、この場合、複数種の対応関係が表示されるわけではないので、ディスプレイ上の表示は非常にシンプルである。
そして、対応関係表示制御手段は、その絞り込み表示機能により、構成要素選択手段で選択された構成要素に対応する他方の構成要素、つまり、テンプレート開発者がテンプレートの構成要素を選択した場合にあっては当該構成要素に対応するソースコードの構成要素のみを、また、テンプレート開発者がソースコードの構成要素を選択した場合にあっては当該構成要素に対応するテンプレートの構成要素のみをディスプレイ上に識別可能に表示する。
従って、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができる。
前記と同様、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係をディスプレイ上に識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を他の文字列と異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得るが、この場合、複数種の対応関係が表示されるわけではないので、ディスプレイ上の表示は非常にシンプルである。
また、前記各構成に加え、更に、編集対象となるテンプレートのオリジナルソースコードを記憶するオリジナルソースコード記憶手段と、
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段を併設するようにしてもよい。
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段を併設するようにしてもよい。
このような構成を適用した場合は、差分検出手段が、ソースコード生成手段で生成されたソースコードとオリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する。
そして、差分検出手段により検出されたソースコードの構成要素を差分構成要素表示制御手段がモニタ上に識別可能に表示することで、ソースコード生成手段で生成されたソースコードのうちオリジナルソースコードと相違する部分がテンプレート開発者に明確に示される。
従って、テンプレート開発者は、新たに生成されたソースコードの内容を容易に確認することができる。
前記と同様、オリジナルソースコードと相違するソースコードを識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を他の文字列と異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得る。但し、この場合は、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係の表示に重複させてオリジナルソースコードと相違するソースコードを示す必要が生じる場合があるので、例えば、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を文字列の表示色で表現し、更に、オリジナルソースコードと相違するソースコードの部分についてはフォントを変えたり或いはアンダーラインやアッパーライン等を表示するといった工夫が必要である。
そして、差分検出手段により検出されたソースコードの構成要素を差分構成要素表示制御手段がモニタ上に識別可能に表示することで、ソースコード生成手段で生成されたソースコードのうちオリジナルソースコードと相違する部分がテンプレート開発者に明確に示される。
従って、テンプレート開発者は、新たに生成されたソースコードの内容を容易に確認することができる。
前記と同様、オリジナルソースコードと相違するソースコードを識別可能に表示するための具体的な手段としては、文字列の表示色やフォントの種類等を他の文字列と異ならせたり、あるいは、アンダーラインやアッパーライン等を表示するといった一般的な手法が利用され得る。但し、この場合は、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係の表示に重複させてオリジナルソースコードと相違するソースコードを示す必要が生じる場合があるので、例えば、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を文字列の表示色で表現し、更に、オリジナルソースコードと相違するソースコードの部分についてはフォントを変えたり或いはアンダーラインやアッパーライン等を表示するといった工夫が必要である。
或いは、テンプレートを編集するためのテンプレート編集手段と、
編集対象となるテンプレートのオリジナルソースコードを記憶するオリジナルソースコード記憶手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段のみを備えた構成を適用することも可能である。
編集対象となるテンプレートのオリジナルソースコードを記憶するオリジナルソースコード記憶手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段のみを備えた構成を適用することも可能である。
このような構成を適用したテンプレート編集装置は、ソースコード生成手段で生成されたソースコードのうちオリジナルソースコードと相違する部分のみを識別可能に表示する機能を有する。
前記と同様、テンプレート開発者は、新たに生成されたソースコードの内容を容易に確認することができる。
前記と同様、テンプレート開発者は、新たに生成されたソースコードの内容を容易に確認することができる。
本発明のテンプレート編集用プログラムは、前記と同様の課題を達成するため、少なくともキーボードとディスプレイおよび記憶装置の接続が可能なコンピュータのマイクロプロセッサを、
前記キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードを前記ディスプレイに表示する表示制御手段、および、
前記記憶装置に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記ディスプレイ上で識別可能に表示する対応関係表示制御手段として機能させることを特徴とした構成を有する。
前記キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードを前記ディスプレイに表示する表示制御手段、および、
前記記憶装置に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記ディスプレイ上で識別可能に表示する対応関係表示制御手段として機能させることを特徴とした構成を有する。
このテンプレート編集用プログラムをインストールしたコンピュータは、前述したテンプレート編集手段,ソースコード生成手段,表示制御手段,対応関係表示制御手段と、コンピュータに接続された記憶装置を対応関係記憶手段として機能させるための対応関係設定手段とを備えたテンプレート編集装置として機能する。
各手段の機能については既に述べた通りであり、よって、前記と同様、テンプレート開発者は、編集されたソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を簡単に把握することができる。
各手段の機能については既に述べた通りであり、よって、前記と同様、テンプレート開発者は、編集されたソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を簡単に把握することができる。
また、テンプレート編集用プログラムは、キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードをディスプレイに表示する表示制御手段、
キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、および、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段として機能させるものであってもよい。
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードをディスプレイに表示する表示制御手段、
キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、および、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段として機能させるものであってもよい。
このテンプレート編集用プログラムをインストールしたコンピュータは、前述したテンプレート編集手段,ソースコード生成手段,表示制御手段,構成要素選択手段,絞り込み表示制御手段(絞り込み表示制御機能を有する対応関係表示制御手段)と、コンピュータに接続された記憶装置を対応関係記憶手段として機能させるための対応関係設定手段とを備えたテンプレート編集装置として機能する。
各手段の機能については既に述べた通りであり、よって、前記と同様、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者は、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができるようになる。
各手段の機能については既に述べた通りであり、よって、前記と同様、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者は、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができるようになる。
更に、テンプレート編集用プログラムは、キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードをディスプレイに表示する表示制御手段、
前記ソースコード生成手段で生成されたソースコードと前記記憶装置に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段、
前記キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段、および、
前記差分検出手段で検出されたソースコードの構成要素を前記ディスプレイ上で識別可能に表示する差分構成要素表示制御手段として機能させるものであってもよい。
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードをディスプレイに表示する表示制御手段、
前記ソースコード生成手段で生成されたソースコードと前記記憶装置に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段、
前記キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段、および、
前記差分検出手段で検出されたソースコードの構成要素を前記ディスプレイ上で識別可能に表示する差分構成要素表示制御手段として機能させるものであってもよい。
このテンプレート編集用プログラムをインストールしたコンピュータは、前述したテンプレート編集手段,ソースコード生成手段,表示制御手段,差分検出手段,構成要素選択手段,絞り込み表示制御手段(絞り込み表示制御機能を有する対応関係表示制御手段),差分構成要素表示制御手段と、コンピュータに接続された記憶装置を対応関係記憶手段として機能させるための対応関係設定手段とを備えたテンプレート編集装置として機能することになる。
各手段の機能については既に述べた通りであり、よって、前記と同様、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者は、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができ、また、新たに生成されたソースコードの内容を容易に確認することができる。
各手段の機能については既に述べた通りであり、よって、前記と同様、多数の対応関係を識別可能とするために文字列の表示色の数やフォントの種類あるいはアンダーラインやアッパーライン等のマーカーがディスプレイ上に氾濫する弊害が解消され、テンプレート開発者は、テンプレート開発者が真に着目したいソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができ、また、新たに生成されたソースコードの内容を容易に確認することができる。
本発明のテンプレート編集装置およびテンプレート編集用プログラムによれば、編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係がテンプレート編集装置あるいはコンピュータの内部処理によって自動的にディスプレイ上に表示されるので、テンプレート開発者は、編集されたソースコード作成用テンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係を簡単に把握して開発作業を進めることができる。
次に、本発明のテンプレート編集装置およびテンプレート編集用プログラムの最良の形態について図面を参照して具体的に説明する。
図1は、テンプレート編集装置1の構成の概略を示したブロック図である。この実施形態のテンプレート編集装置1は、ワークステーションやパーソナルコンピュータ等を始めとする通常のコンピュータによって構成されるもので、演算手段としてのマイクロプロセッサ(以下、単にCPUと称する)2と、CPU2の基本的な制御プログラムを格納したROM3、および、演算データの一時記憶等に利用されるRAM4と、外部装置やネットワーク等に接続するためのインターフェイス5を備える。
また、CPU2のバスには、入出力回路6を介して、データ入力手段としてのキーボード7や表示手段としてのディスプレイ8およびプリンタ9、更には、ハードディスクドライブ等の記憶装置10が接続されるようになっている。
また、CPU2のバスには、入出力回路6を介して、データ入力手段としてのキーボード7や表示手段としてのディスプレイ8およびプリンタ9、更には、ハードディスクドライブ等の記憶装置10が接続されるようになっている。
記憶装置10には、CPU2の制御に必要とされるオペレーションシステムを構成するプログラムに加え、このコンピュータをテンプレート編集装置1として機能させるために必要とされるテンプレート編集用プログラムが、予めインストールされている。
図2はテンプレート編集用プログラムをインストールすることでテンプレート編集装置1とされたコンピュータの機能、より具体的には、CPU2の機能を概略的に示した機能ブロック図である。
テンプレート編集手段11は、キーボード7を介して入力されるテンプレート開発者の指示に従ってソースコード作成用テンプレート(以下、単にテンプレートと称する)を編集するもので、通常のテキストエディタと同等の機能を備える。
ここで言う編集の意味合いは、キーボード7からの入力操作でテンプレートを新規に作成する処理と、予め記憶装置10のテンプレート記憶部12に記憶させておいたテンプレートを読み出して修正作業(純粋な編集作業)を行う場合とを含む。
また、信頼できるテンプレートを予めテンプレート記憶部12に格納し、このテンプレートを利用して編集作業を行うような場合には、このテンプレートで生成された動作確認済みのソースコード、つまり、オリジナルソースコードを、記憶装置10の記憶領域の一部からなるオリジナルソースコード記憶手段13に併せて保存しておくようにすることが望ましい。
また、編集を終えたテンプレートを表示制御手段16を介してディスプレイ8に表示したり、記憶装置10のテンプレート記憶部12に上書きして保存したり、あるいは、別のファイル名でテンプレート記憶部12に保存したりすることも可能である。
ここで言う編集の意味合いは、キーボード7からの入力操作でテンプレートを新規に作成する処理と、予め記憶装置10のテンプレート記憶部12に記憶させておいたテンプレートを読み出して修正作業(純粋な編集作業)を行う場合とを含む。
また、信頼できるテンプレートを予めテンプレート記憶部12に格納し、このテンプレートを利用して編集作業を行うような場合には、このテンプレートで生成された動作確認済みのソースコード、つまり、オリジナルソースコードを、記憶装置10の記憶領域の一部からなるオリジナルソースコード記憶手段13に併せて保存しておくようにすることが望ましい。
また、編集を終えたテンプレートを表示制御手段16を介してディスプレイ8に表示したり、記憶装置10のテンプレート記憶部12に上書きして保存したり、あるいは、別のファイル名でテンプレート記憶部12に保存したりすることも可能である。
ソースコード生成手段14は、テンプレート編集手段11によって編集されたテンプレートの構成要素を展開して自動的にソースコードを生成するもので、テンプレートを展開してソースコードを生成するといった単機能の技術に関しては、背景技術の項にも記載した通り、既に一般化している。
つまり、テンプレートは、特殊記号で示された制御部と固定部から構成され、このうち固定部はソースコードにそのまま出力される情報であり、また、制御部はソースコードをカスタマイズするための情報であって、変数,条件分岐,繰り返し処理等が記述される。また、変数に関しては、ソースコードの生成過程で対応する変数値が記憶装置10の変数値記憶部17から読み込まれてソースコードに出力される。特殊記号とは、例えば、$...や、#...等のように特定のルールで決められた記号であり、制御部の情報を埋め込んでソースコード生成手段14が解釈できるようにするためのものである。
つまり、テンプレートは、特殊記号で示された制御部と固定部から構成され、このうち固定部はソースコードにそのまま出力される情報であり、また、制御部はソースコードをカスタマイズするための情報であって、変数,条件分岐,繰り返し処理等が記述される。また、変数に関しては、ソースコードの生成過程で対応する変数値が記憶装置10の変数値記憶部17から読み込まれてソースコードに出力される。特殊記号とは、例えば、$...や、#...等のように特定のルールで決められた記号であり、制御部の情報を埋め込んでソースコード生成手段14が解釈できるようにするためのものである。
ソースコード生成手段14で生成されたソースコードは、記憶装置10のソースコード記憶部15に格納することが可能であり、また、表示制御手段16を介してディスプレイ8に表示することもできる。更に、その時点でワークメモリとしてのRAM4上に展開されているソースコードに対し、キーボード7からの操作でテンプレート開発者が修正作業を行うことも可能である。
また、ソースコード生成手段14は、テンプレート編集手段11で編集されたソースコードの構成要素を展開してソースコードを生成する際に、この構成要素の制御部に変数を引用する指示があれば、この指示に従って記憶装置10の変数値記憶部17から対応する変数を読み込み、また、条件分岐や繰り返し等の指示があれば、これらを反映させてソースコードを生成する。
ソースコードの生成に際しては、CPU2の内部処理により、テンプレートの構成要素と生成されたソースコードの構成要素との対応関係が抽出され、この対応関係が、対応関係設定手段として機能するCPU2のデータ書込み操作によって、記憶装置10の記憶領域の一部からなる対応関係記憶手段18に記憶される。
この実施形態ではテンプレートの構成要素とソースコードの構成要素を1ブロック単位で取り扱っているので、実際の対応関係は、テンプレートの構成要素の行番号や列番号にソースコードの行番号や列番号を対応させて記憶させることになる。
既に述べた通り、繰り返し処理等の場合においては、テンプレートの構成要素の制御部における指示でソースコードの構成要素が繰り返し幾つも生成される場合があるので、両者間の対応関係は一対一対応に限らず一対多対応の関係となる可能性がある。
この実施形態ではテンプレートの構成要素とソースコードの構成要素を1ブロック単位で取り扱っているので、実際の対応関係は、テンプレートの構成要素の行番号や列番号にソースコードの行番号や列番号を対応させて記憶させることになる。
既に述べた通り、繰り返し処理等の場合においては、テンプレートの構成要素の制御部における指示でソースコードの構成要素が繰り返し幾つも生成される場合があるので、両者間の対応関係は一対一対応に限らず一対多対応の関係となる可能性がある。
構成要素選択手段20は、キーボード7を利用したテンプレート開発者からの指示、具体的には、ディスプレイ8上でのカーソルの移動操作に基づいて、ディスプレイ8に表示されたテンプレートもしくはソースコードの何れか一方からその構成要素を選択する。テンプレート上の構成要素を選択するのかソースコード上の構成要素を選択するのか、更には、テンプレート上の構成要素のどれを選択するのかソースコード上の構成要素のどれを選択するのかはテンプレート開発者の判断による。
対応関係表示制御手段19は、対応関係記憶手段18に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係を、表示制御手段16を介してディスプレイ8に識別可能に表示する。
より具体的には、本実施形態の対応関係表示制御手段19は、絞り込み表示機能(絞り込み表示制御手段)を有するものであり、前述した構成要素選択手段20による構成要素の選択結果が対応関係表示制御手段19に伝達され、対応関係表示制御手段19は、対応関係記憶手段18に記憶された対応関係と構成要素選択手段20で選択された構成要素とに基づいて、構成要素選択手段20で選択された構成要素に対応する他方の構成要素、つまり、テンプレート開発者がテンプレート上の構成要素を選択した場合にあっては当該構成要素に対応するソースコード上の構成要素のみを、また、テンプレート開発者がソースコード上の構成要素を選択した場合にあっては当該構成要素に対応するテンプレート上の構成要素のみを、表示制御手段16を介し、ディスプレイ8上に太字で識別可能に表示する。
また、差分検出手段21は、編集対象となっているテンプレートの元となる編集前のテンプレートのオリジナルソースコードがオリジナルソースコード記憶手段13に記憶されている場合に限って作動し、ソースコード生成手段14で生成されたソースコードとオリジナルソースコード記憶手段13に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する。
そして、差分構成要素表示制御手段22が、差分検出手段21で検出されたソースコードの構成要素を、表示制御手段16を介し、ディスプレイ8上にハイライトで識別可能に表示する。
この実施形態では、編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係を太字によって識別可能に強調表示し、また、オリジナルソースコードの構成要素と相違するソースコードの構成要素をハイライト表示によって識別可能に強調表示するようにしているが、他の強調表示を利用しても差し支えない。
但し、同一の構成要素に対して此れら2種の強調表示を重複して行う必要が生じる場合があるので、強調表示の意味合いを明確に区別する必要上、例えは、対応関係の識別表示には太字やフォントの色による識別、また、オリジナルソースコードと相違するソースコードの表示にはハイライト表示による識別を行う等の工夫をすることが望ましい。
但し、同一の構成要素に対して此れら2種の強調表示を重複して行う必要が生じる場合があるので、強調表示の意味合いを明確に区別する必要上、例えは、対応関係の識別表示には太字やフォントの色による識別、また、オリジナルソースコードと相違するソースコードの表示にはハイライト表示による識別を行う等の工夫をすることが望ましい。
前述したテンプレート編集手段11,表示制御手段16,ソースコード生成手段14,対応関係設定手段,構成要素選択手段20,対応関係表示制御手段19(絞り込み表示機能=絞り込み表示制御手段を含む),差分検出手段21,差分構成要素表示制御手段22の各機能は記憶装置10にインストールされたテンプレート編集用プログラムに従って駆動制御されるCPU2を機能実現手段として達成されるものである。
また、記憶装置10は、事実上のオリジナルソースコード記憶手段13および対応関係記憶手段18として機能する。
また、記憶装置10は、事実上のオリジナルソースコード記憶手段13および対応関係記憶手段18として機能する。
図3〜図4は前記各手段として機能するCPU2によって実行されるテンプレート編集処理の概要を示したフローチャートであり、以下、これらの図面を参照して、CPU2の処理動作について具体的に説明する。
また、説明の参考として、編集対象となるテンプレートの一例を図5に、此れに対応するオリジナルソースコードの一例(Javaの簡単なクラス)を図6に、また、変数値記憶部17に記憶された変数値の一例(元データはXMLやCSVまたは其の組み合わせ等である)を図7に、更に、図7の変数値と共に図5のテンプレートを展開して生成されたソースコードの一例を図8に示す。
但し、この例では、記憶装置10のテンプレート記憶部12に予め記憶されていたテンプレートを読み出し、このテンプレートを雛形として編集作業を行うものとする。つまり、図5に示されるテンプレートはテンプレート記憶部12に予め記憶されていたテンプレートそれ自体ではなく、編集後のテンプレートであり、また、図6に示されるオリジナルソースコードは、テンプレート記憶部12に記憶されていたテンプレートに対応してオリジナルソースコード記憶手段13に予め格納されていた動作確認済みのオリジナルソースコードである。
但し、この例では、記憶装置10のテンプレート記憶部12に予め記憶されていたテンプレートを読み出し、このテンプレートを雛形として編集作業を行うものとする。つまり、図5に示されるテンプレートはテンプレート記憶部12に予め記憶されていたテンプレートそれ自体ではなく、編集後のテンプレートであり、また、図6に示されるオリジナルソースコードは、テンプレート記憶部12に記憶されていたテンプレートに対応してオリジナルソースコード記憶手段13に予め格納されていた動作確認済みのオリジナルソースコードである。
テンプレート編集装置1を作動させ、テンプレート編集用プログラムを起動してテンプレート編集処理を開始すると、CPU2は、まず、ソースコードの生成完了を記憶するフラグFの値を0に初期化し(図3のステップS1)、テンプレート開発者がキーボード7を操作するのを待つ待機状態に入る(ステップS2)。
そして、テンプレート開発者がキーボード7を操作すると、CPU2は、ステップS2の判定処理でキーボード7の操作を検知し、この操作がソースコードの生成に関わる指示であるのか(ステップS3)、カーソル移動に関わるものであるのか、あるいは、その他の操作であるのかを判定する(ステップS26)。
なお、テンプレート記憶部12に記憶されていたテンプレートの読み出しや、このテンプレートを雛形として行われる編集作業等に関しては、従来と同様、テキストエディタとしての機能を有するテンプレート編集手段11によって行われるものであり、ここでは「他の処理」(ステップS28)に含まれるものとして詳細な説明を省略している。
また、編集されたテンプレートは、RAM4のテンプレート記憶領域に一時記憶されるものとする。
テンプレートを雛形として行われる編集作業に際してテンプレート開発者によってカーソルの移動操作が行われることもあり、この場合、ステップS26の判定処理でカーソルの移動操作がCPU2に検知されることになるが、フラグFの値は初期値0に保持されているので、単に、カーソルの移動が行われるに過ぎず、それ以上の格別な処理操作は行われない(ステップS27参照)。
また、編集されたテンプレートは、RAM4のテンプレート記憶領域に一時記憶されるものとする。
テンプレートを雛形として行われる編集作業に際してテンプレート開発者によってカーソルの移動操作が行われることもあり、この場合、ステップS26の判定処理でカーソルの移動操作がCPU2に検知されることになるが、フラグFの値は初期値0に保持されているので、単に、カーソルの移動が行われるに過ぎず、それ以上の格別な処理操作は行われない(ステップS27参照)。
そして、テンプレート編集手段11を利用したテンプレートの編集作業が一旦終了し、このテンプレートを展開するためにテンプレート開発者がキーボード7を操作すると、CPU2はステップS3の判定処理で此れを検知し、編集されたテンプレートの展開に関わる処理を開始する。
ソースコード生成手段14として機能するCPU2は、まず、編集されたテンプレートつまり図5に示されるような編集後のテンプレートの構成要素を先頭から1ブロックずつ読み込み(ステップS4)、この構成要素を構文解析して(ステップS5)、当該構成要素が前述の固定部に相当するものであるのか(ステップS6)、あるいは、制御部に相当するものであるのかを判定する(ステップS8)。
既に述べた通り、固定部はソースコードとしてそのまま出力される情報であるから、ステップS6の判定結果が真となった場合、ソースコード生成手段14として機能するCPU2は、固定部の情報をそのまま出力してRAM4のソースコード記憶領域にソースコードとして一時記憶する(ステップS7)。
そして、対応関係設定手段として機能するCPU2が、今回の操作で処理されたテンプレートの構成要素と当該構成要素に基づいて生成されたソースコードとの対応関係を対応関係記憶手段18に記憶させる(ステップS11)。
前述した通り、テンプレートの構成要素とソースコードの構成要素との対応関係は、テンプレートの構成要素の行番号や列番号にソースコードの行番号や列番号を対応させることによって対応関係記憶手段18に記憶されることになる(図9参照)。
そして、対応関係設定手段として機能するCPU2が、今回の操作で処理されたテンプレートの構成要素と当該構成要素に基づいて生成されたソースコードとの対応関係を対応関係記憶手段18に記憶させる(ステップS11)。
前述した通り、テンプレートの構成要素とソースコードの構成要素との対応関係は、テンプレートの構成要素の行番号や列番号にソースコードの行番号や列番号を対応させることによって対応関係記憶手段18に記憶されることになる(図9参照)。
一方、ステップS8の判定結果が真となった場合、つまり、テンプレートの構成要素が制御部であった場合には、ソースコード生成手段14として機能するCPU2は、制御部の指示が変数値に関するものであれば制御部の指示に従って変数値記憶部17から対応する変数値を読み込み、また、制御部の指示が繰り返し処理であれば繰り返し回数の指定に応じた処理を実行し、あるいは、分岐条件であった場合には分岐先等の指定を実行し(ステップS9)、必要とされるソースコードを生成してRAM4のソースコード記憶領域にソースコードとして記憶する(ステップS10)。
そして、対応関係設定手段として機能するCPU2が、今回の操作で処理されたテンプレートの構成要素と当該構成要素に基づいて生成されたソースコードとの対応関係を、前記と同様にして、対応関係記憶手段18に記憶させる(ステップS11)。
そして、対応関係設定手段として機能するCPU2が、今回の操作で処理されたテンプレートの構成要素と当該構成要素に基づいて生成されたソースコードとの対応関係を、前記と同様にして、対応関係記憶手段18に記憶させる(ステップS11)。
前述した通り、制御部の指示が繰り返し処理であった場合には、テンプレートにおける1ブロックの構成要素を展開してソースコードを生成した際に複数ブロックのソースコードが生成され、両者の対応関係が一対多となる場合がある(図9参照)。
次いで、ソースコード生成手段14として機能するCPU2は、編集されたテンプレートの構成要素の最終ブロックに対する展開処理が完了しているか否かを判定し(ステップS12)、最終ブロックに対する展開処理が完了していなければ、再びステップS4の処理に復帰して前記と同様の処理操作を繰り返し実行し、編集されたテンプレートの構成要素を次々と展開していく。
そして、最終的にステップS12の判定結果が真となった段階で、編集されたテンプレートの構成要素の全てのブロックの展開作業が完了する。
次いで、差分検出手段21として機能するCPU2が、今回のテンプレート編集に際して雛形として利用されたテンプレートに対応するオリジナルソースコードがオリジナルソースコード記憶手段13に記憶されているか否かを判定する(ステップS13)。
前述した通り、この例では、記憶装置10のテンプレート記憶部12に記憶されていたテンプレートを雛形として編集作業を行っており、このテンプレートに対応するオリジナルソースコード(図6参照)がオリジナルソースコード記憶手段13に保存されているので、ステップS13の判定結果は真となる。
従って、差分検出手段21として機能するCPU2は、編集されたテンプレートから展開されてRAM4のソースコード記憶領域に一時記憶されているソースコードとオリジナルソースコード記憶手段13に保存されているオリジナルソースコードの各々を先頭から順に1ブロックずつ読み込み(ステップS14)、両者間に相違があるか否か、つまり、差分が生じているか否かを判定する(ステップS15)。
ここで、差分が検出されてステップS15の判定結果が真となった場合には、差分検出手段21として機能するCPU2が、差分の発生したオリジナルソースコードの構成要素と生成されたソースコードの構成要素との対応関係を、前述したテンプレートの構成要素とソースコードとの対応関係の場合と同等の手法により、オリジナルソースコードの構成要素の行番号や列番号と生成されたソースコードの構成要素の行番号や列番号との対応関係として、図10に示されるようにしてRAM4の差分情報記憶領域に一時記憶させる(ステップS16)。
次いで、差分検出手段21として機能するCPU2は、差分の有無に関わる判定処理がソースコードおよびオリジナルソースコードの構成要素の最終ブロックまで行われているか否かを判定し(ステップS17)、最終ブロックまでの比較処理が終わっていなければ、再びステップS14の処理に復帰して前記と同様の処理操作を繰り返し実行する。
そして、最終的にステップS17の判定結果が真となった段階で、ソースコードおよびオリジナルソースコードの構成要素の差分の有無に関わる判定処理が完了し、差分の発生したオリジナルソースコードの構成要素と生成されたソースコードの構成要素との対応関係が全てRAM4の差分情報記憶領域に記憶される(図10参照)。
このようにして全ての差分を検出した後、CPU2は、編集されたテンプレートから展開して生成されたソースコードをRAM4のソースコード記憶領域から読み出し、生成されたソースコード(図8参照)と編集されたテンプレート(図5参照)を、表示制御手段16を介してディスプレイ8上に並列的に表示し(ステップS18)、更に、差分構成要素表示制御手段22が、RAM4の差分情報記憶領域に記憶されている差分の発生したオリジナルソースコードの構成要素と生成されたソースコードの構成要素との対応関係を参照し、図11に示されるようにして、編集されたテンプレートから新たに生成された差分のソースコードの部分を識別可能にハイライト表示する(ステップS19)。
図10の例では、ソースコードの構成要素の第11行,第15行,第19行,第23行にオリジナルソースコードとは異なる差分の発生が記憶されているので、図11に示されるように、生成されたソースコードの第11行,第15行,第19行,第23行がハイライト表示されることになる。
図10の例では、ソースコードの構成要素の第11行,第15行,第19行,第23行にオリジナルソースコードとは異なる差分の発生が記憶されているので、図11に示されるように、生成されたソースコードの第11行,第15行,第19行,第23行がハイライト表示されることになる。
なお、ステップS13の判定結果が偽となった場合、つまり、雛形として編集作業を行ったテンプレートに対応するオリジナルソースコードがオリジナルソースコード記憶手段13に保存されていない場合においては、生成されたソースコードとオリジナルソースコードとの差分の比較は不能であるから、単に、生成されたソースコード(図8参照)と編集されたテンプレート(図5参照)がディスプレイ8上に並列的に表示されるだけで、差分に関するハイライト表示は実行されない(ステップS20)。
このようにして、ソースコードおよびテンプレートの表示、ならびに、生成されたソースコードに関わる差分の表示が完了すると、CPU2は、ソースコードの生成完了を記憶するフラグFに1を設定してソースコードの生成が完了したことを記憶し(ステップS21)、同時に、絞り込み表示機能を有する対応関係表示制御手段19の作動を許容する。
次いで、構成要素選択手段20として機能するCPU2が、ディスプレイ8上におけるカーソルの現在位置を検出し(ステップS22)、カーソルが図5に示されるようなテンプレート上の構成要素に置かれているのか、あるいは、図8に示されるようなソースコード上の構成要素に置かれているのかを判定する(ステップS23)。
ステップS23の判定結果が真となった場合、つまり、カーソルがテンプレート上の構成要素に置かれていた場合には、対応関係表示制御手段19における絞り込み表示制御手段として機能するCPU2は、図9のような対応関係記憶手段18を参照して、カーソルの現在位置によって特定されるテンプレート上の構成要素に対応して図9のような対応関係記憶手段18に記憶されているソースコードの構成要素を求め、この構成要素を太字によって識別可能に表示する(ステップS24)。
例えば、図5のテンプレートの例で13行24列の位置にカーソルがある場合、これに対応するのは、図9からソースコード上の11行20列〜11行23列と19行20列〜19行23列であることが分るから、ソースコード上において図12に示される構成要素が太字によって識別可能に表示されることになる。
また、ステップS23の判定結果が偽となった場合、つまり、カーソルがソースコード上の構成要素に置かれていた場合には、対応関係表示制御手段19における絞り込み表示制御手段として機能するCPU2は、図9のような対応関係記憶手段18を参照して、カーソルの現在位置によって特定されるソースコード上の構成要素に対応して図9のような対応関係記憶手段18に記憶されているテンプレートの構成要素を求め、この構成要素を太字によって識別可能に表示する(ステップS25)。
例えば、図8のソースコードの一例において、11行22列の位置にカーソルがある場合、これに対応するのは、図9からテンプレート上の13行20列〜13行32列であることが分るから、テンプレート上において図13に示される構成要素が太字によって識別可能に表示されることになる。
このように、初回の対応位置関係の表示はカーソルの初期位置によって決まるが、テンプレート開発者は、キーボード7からの操作でカーソルを移動させて構成要素選択手段20として機能するCPU2に指示を与えることで、着目したいテンプレートの構成要素に対応するソースコードの構成要素のみ、あるいは、着目したいソースコードの構成要素に対応するテンプレートの構成要素のみを太字によって容易に識別可能に表示させることができる。
つまり、テンプレート開発者によるカーソル移動操作はステップS2およびステップS26の判定処理により構成要素選択手段20として機能するCPU2によって検出され、CPU2は、フラグFの値が0であるのか1であるのかを判定するが(ステップS27)、ソースコードおよびテンプレートの表示、ならびに、生成されたソースコードに関わる差分の表示が完了した現時点ではフラグFに既に値1がセットされているので(ステップS21参照)、このカーソル移動操作に応じて構成要素選択手段20として機能するCPU2が直ちに作動してカーソルの移動位置を検知し(ステップS22)、絞り込み表示機能を有する対応関係表示制御手段19として機能するCPU2が、カーソルがテンプレート上の構成要素に置かれているのか、あるいは、ソースコード上の構成要素に置かれているのかを判定し(ステップS23)、この判定結果に応じ、カーソルがテンプレート上の構成要素に置かれていた場合には、図9のような対応関係記憶手段18を参照し、カーソルの現在位置によって特定されるテンプレート上の構成要素に対応して対応関係記憶手段18に記憶されているソースコードの構成要素を求め、この構成要素をソースコード上で太字によって識別可能に表示し、また、カーソルがソースコード上の構成要素に置かれていた場合には、図9のような対応関係記憶手段18を参照し、カーソルの現在位置によって特定されるソースコード上の構成要素に対応して対応関係記憶手段18に記憶されているテンプレートの構成要素を求め、この構成要素をテンプレート上で太字によって識別可能に表示する(ステップS24〜ステップS25)。
以上に述べた通り、この実施形態のテンプレート編集装置1では、テンプレート編集手段11で編集されたテンプレートと当該テンプレートから生成されたソースコードの各々をディスプレイ8上に並列的に表示した後、オリジナルソースコードの構成要素と相違するソースコードの構成要素(差分)をハイライトで識別可能に表示するようにしているので、テンプレート開発者は、新たに生成されたソースコードの内容を容易に確認することができる。
また、編集されたテンプレートの構成要素と当該テンプレートから生成されたソースコードの構成要素との対応関係のうち、特に、テンプレート開発者の指示により構成要素選択手段20で選択されたテンプレート上の構成要素に対応するソースコード上の構成要素や、構成要素選択手段20で選択されたソースコード上の構成要素に対応するテンプレート上の構成要素のみを太字で識別可能に表示するようにしているので、ディスプレイ8上の表示が煩わしくなることはなく、テンプレート開発者は、編集されたテンプレートの構成要素とテンプレートの展開結果であるソースコードの構成要素との対応関係のうち、テンプレート開発者が真に着目したいテンプレートの構成要素と其の展開結果であるソースコードの構成要素との対応関係を極めて明確に把握することができる。
特に、テンプレート上の構成要素あるいはソースコード上の構成要素の何れか一方を指定するだけで、これに対応する他方の構成要素が自動的に太字で表示されるので、テンプレート開発者がテンプレートとソースコードとの間を頻繁に目で行き来して確認作業を行う煩わしさが解消され、テンプレート開発者の負担が大幅に軽減される。
しかも、強調表示に際しては差分の表示をハイライトで強調し、構成要素の対応関係の表示を太字で強調表示するようにしているので、同一の構成要素に対して差分と対応関係の表示が同時に行われる場合であっても、強調表示の意味合いを明確に把握することができ、テンプレート開発者がテンプレートの開発や修正を行う際の編集作業の手間や煩わしさが効果的に解消される。
その理由は、テンプレートとソースコードとが相互連携することにより、テンプレートを修正した場合にソースコードのどこにどのような影響を及ぼすかとソースコードを修正したい時にテンプレートのどこを修正すべきかを一目瞭然とできるためである。
その理由は、テンプレートとソースコードとが相互連携することにより、テンプレートを修正した場合にソースコードのどこにどのような影響を及ぼすかとソースコードを修正したい時にテンプレートのどこを修正すべきかを一目瞭然とできるためである。
1 テンプレート編集装置(コンピュータ)
2 マイクロプロセッサ
3 ROM
4 RAM
5 インターフェイス
6 入出力回路
7 キーボード
8 ディスプレイ
9 プリンタ
10 記憶装置
11 テンプレート編集手段
12 テンプレート記憶部
13 オリジナルソースコード記憶手段
14 ソースコード生成手段
15 ソースコード記憶部
16 表示制御手段
17 変数値記憶部
18 対応関係記憶手段
19 対応関係表示制御手段(絞り込み表示制御手段)
20 構成要素選択手段
21 差分検出手段
22 差分構成要素表示制御手段
2 マイクロプロセッサ
3 ROM
4 RAM
5 インターフェイス
6 入出力回路
7 キーボード
8 ディスプレイ
9 プリンタ
10 記憶装置
11 テンプレート編集手段
12 テンプレート記憶部
13 オリジナルソースコード記憶手段
14 ソースコード生成手段
15 ソースコード記憶部
16 表示制御手段
17 変数値記憶部
18 対応関係記憶手段
19 対応関係表示制御手段(絞り込み表示制御手段)
20 構成要素選択手段
21 差分検出手段
22 差分構成要素表示制御手段
Claims (7)
- ソースコード作成用テンプレートの開発に利用されるテンプレート編集装置であって、
テンプレートを編集するためのテンプレート編集手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を記憶する対応関係記憶手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記対応関係記憶手段に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記表示制御手段を介して識別可能に表示する対応関係表示制御手段とを備えたことを特徴とするテンプレート編集装置。 - 前記表示制御手段によって表示されたテンプレートとソースコードの何れか一方から構成要素を手動選択するための構成要素選択手段を併設すると共に、
前記対応関係表示制御手段には、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素のみを識別可能に表示する絞り込み表示機能が設けられていることを特徴とした請求項1記載のテンプレート編集装置。 - 編集対象となるテンプレートのオリジナルソースコードを記憶するオリジナルソースコード記憶手段と、
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段を併設したことを特徴とする請求項2記載のテンプレート編集装置。 - ソースコード作成用テンプレートの開発に利用されるテンプレート編集装置であって、
テンプレートを編集するためのテンプレート編集手段と、
編集対象となるテンプレートのオリジナルソースコードを記憶するオリジナルソースコード記憶手段と、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段と、
前記ソースコード生成手段で生成されたソースコードと前記オリジナルソースコード記憶手段に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段と、
編集されたテンプレートおよびソースコードを表示する表示制御手段と、
前記差分検出手段で検出されたソースコードの構成要素を前記表示制御手段を介して識別可能に表示する差分構成要素表示制御手段とを備えたことを特徴とするテンプレート編集装置。 - 少なくともキーボードとディスプレイおよび記憶装置の接続が可能なコンピュータのマイクロプロセッサを、
前記キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードを前記ディスプレイに表示する表示制御手段、および、
前記記憶装置に記憶された対応関係に基づいて、編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記ディスプレイ上で識別可能に表示する対応関係表示制御手段として機能させることを特徴としたテンプレート編集用プログラム。 - 少なくともキーボードとディスプレイおよび記憶装置の接続が可能なコンピュータのマイクロプロセッサを、
前記キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードを前記ディスプレイに表示する表示制御手段、
前記キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、および、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段として機能させることを特徴としたテンプレート編集用プログラム。 - 少なくともキーボードとディスプレイおよび記憶装置の接続が可能なコンピュータのマイクロプロセッサを、
前記キーボードからの入力操作に基づいてテンプレートを編集するためのテンプレート編集手段、
編集されたテンプレートの構成要素を展開してソースコードを生成するソースコード生成手段、
編集されたテンプレートの構成要素と生成されたソースコードの構成要素との対応関係を前記記憶装置に記憶させる対応関係設定手段、
編集されたテンプレートおよびソースコードを前記ディスプレイに表示する表示制御手段、
前記ソースコード生成手段で生成されたソースコードと前記記憶装置に記憶されたオリジナルソースコードとを比較し、オリジナルソースコードの構成要素と相違するソースコードの構成要素を検出する差分検出手段、
前記キーボードからの入力操作に基づいて、前記ディスプレイに表示されたテンプレートとソースコードの何れか一方から構成要素を選択する構成要素選択手段、
前記記憶装置に記憶された対応関係と前記構成要素選択手段で選択された構成要素とに基づいて、前記構成要素選択手段で選択された構成要素に対応する他方の構成要素を前記ディスプレイ上で識別可能に表示する絞り込み表示制御手段、および、
前記差分検出手段で検出されたソースコードの構成要素を前記ディスプレイ上で識別可能に表示する差分構成要素表示制御手段として機能させることを特徴としたテンプレート編集用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083847A JP2006268292A (ja) | 2005-03-23 | 2005-03-23 | テンプレート編集装置およびテンプレート編集用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083847A JP2006268292A (ja) | 2005-03-23 | 2005-03-23 | テンプレート編集装置およびテンプレート編集用プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268292A true JP2006268292A (ja) | 2006-10-05 |
Family
ID=37204228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005083847A Pending JP2006268292A (ja) | 2005-03-23 | 2005-03-23 | テンプレート編集装置およびテンプレート編集用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006268292A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217292A (ja) * | 2007-03-02 | 2008-09-18 | Hitachi Software Eng Co Ltd | ソフトウェア部品テンプレート管理システム |
JP2009211143A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | 情報処理装置および情報処理プログラム |
-
2005
- 2005-03-23 JP JP2005083847A patent/JP2006268292A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217292A (ja) * | 2007-03-02 | 2008-09-18 | Hitachi Software Eng Co Ltd | ソフトウェア部品テンプレート管理システム |
JP2009211143A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | 情報処理装置および情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7721255B2 (en) | Sequence program editing apparatus | |
JP2795244B2 (ja) | プログラムデバッグシステム | |
US20080244593A1 (en) | Task roster | |
EP3540536B1 (en) | Development support device, development support method, and development support program | |
JP4242361B2 (ja) | 開発支援装置 | |
JP3444948B2 (ja) | 文書編集装置および文書編集方法 | |
JP2006268292A (ja) | テンプレート編集装置およびテンプレート編集用プログラム | |
JP4905119B2 (ja) | 仕様書作成支援装置および方法 | |
JP4977681B2 (ja) | データパターン/テストデータ生成・蓄積方法及びシステム | |
JP4983519B2 (ja) | 開発支援装置および開発支援プログラム | |
JPS63109578A (ja) | 論理図概要表示処理方式 | |
JP2007226739A (ja) | ソフトウェア開発装置およびプログラム | |
JP2005092609A (ja) | シーケンス図表示装置およびシーケンス図表示プログラム | |
WO2020184195A1 (ja) | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム | |
JP2005251127A (ja) | パターン体系構築装置、及び、パターン適用装置 | |
JP4641238B2 (ja) | アプリケーション動作追跡支援装置 | |
JP2006099452A (ja) | Si対象ファイルおよびsi関連ファイル管理システム | |
JP2009042951A (ja) | プログラム中のデータ抽出方法及び装置 | |
JPH0728827A (ja) | 図面説明文生成装置 | |
JP4827418B2 (ja) | 条件付コンパイル用識別子の管理方法、コンピュータプログラムの作成支援装置及びプログラム | |
JP2004326161A (ja) | シーケンスプログラム編集装置 | |
JP2006048528A (ja) | ウェブアプリケーションの画面遷移装置、およびウェブアプリケーションの画面遷移方法 | |
JP2001256049A (ja) | 部品生成プログラムを記録した記録媒体 | |
JPH09319613A (ja) | プログラム開発支援装置及びプログラム開発支援方法 | |
JP2011048492A (ja) | プログラムの作成支援装置、作成支援方法及び作成支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090901 |