(57)【要約】      （修正有）【課題】ＣＯＰＹ句を用いるＣＯＢＯＬソースプログラムから変換されたＪａｖａ（登録商標）ソースプログラムのメンテナンス性を向上する。【解決手段】プログラム変換システムは、第１のＣＯＢＯＬソースプログラムと、第１のＣＯＢＯＬソースプログラムを挿入するためのＣＯＰＹ句を含む第２のＣＯＢＯＬソースプログラムとから、第２のＣＯＢＯＬソースプログラムに第１のＣＯＢＯＬソースプログラムを挿入し、挿入箇所を示す第１のコードを追加した、第３のＣＯＢＯＬソースプログラムを生成する。第３のＣＯＢＯＬソースプログラムを、所定の変換規則に基づいて、第１のコードに対応する第２のコードを含む、第１のＪａｖａソースプログラムに変換する。集団項目に対して基本項目を追加するコードが存在する場合、外部クラスと、基本項目をメンバ変数とする外部クラスを継承したクラスを追加する。【選択図】図３
2016115071.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ定義を含む第１のＣＯＢＯＬソースプログラムと、前記第１のＣＯＢＯＬソースプログラムを挿入するためのＣＯＰＹ句を含む第２のＣＯＢＯＬソースプログラムとから、前記第２のＣＯＢＯＬソースプログラムに前記第１のＣＯＢＯＬソースプログラムが挿入され、当該挿入箇所を示す第１のコードが追加された、第３のＣＯＢＯＬソースプログラムを生成する挿入部と、
前記第３のＣＯＢＯＬソースプログラムを、所定の変換規則に基づいて、前記第１のコードに対応する第２のコードを含む、第１のＪａｖａソースプログラムに変換する変換部と、
前記第２のコードに基づいて、前記第１のＪａｖａソースプログラムにおける前記第１のデータ定義に対応する第１の範囲に、集団項目に対応する第１のクラスを定義する第３のコードが存在するかどうかを判定する集団項目定義判定部と、
前記第３のコードが存在する場合、前記第１の範囲より後に、前記集団項目に対して基本項目を追加する第４のコードが存在するかどうかを判定する基本項目定義判定部と、
前記第３のコードが存在する場合、前記第１のクラスを外部クラスとするための第２のＪａｖａソースプログラムと、前記第１のＪａｖａソースプログラムから前記第３のコードが削除され、前記外部クラスをインポートする第５のコードが追加された、第３のＪａｖａソースプログラムとを生成する分離部と、
前記第４のコードが存在する場合、前記第３のＪａｖａソースプログラムに、前記外部クラスを継承した第２のクラスを定義する第６のコードと、前記基本項目を前記第２のクラスのメンバ変数として定義する第７のコードとを追加する基本項目定義追加部と、
を備えるプログラム変換システム。
【請求項２】
請求項１に記載のプログラム変換システムであって、
前記第１のコードは、コメントである、
プログラム変換システム。
【請求項３】
請求項１又は２に記載のプログラム変換システムであって、
前記第２のコードは、コメントである、
プログラム変換システム。
【請求項４】
コンピュータが、
第１のデータ定義を含む第１のＣＯＢＯＬソースプログラムと、前記第１のＣＯＢＯＬソースプログラムを挿入するためのＣＯＰＹ句を含む第２のＣＯＢＯＬソースプログラムとから、前記第２のＣＯＢＯＬソースプログラムに前記第１のＣＯＢＯＬソースプログラムが挿入され、当該挿入箇所を示す第１のコードが追加された、第３のＣＯＢＯＬソースプログラムを生成し、
前記第３のＣＯＢＯＬソースプログラムを、所定の変換規則に基づいて、前記第１のコードに対応する第２のコードを含む、第１のＪａｖａソースプログラムに変換し、
前記第２のコードに基づいて、前記第１のＪａｖａソースプログラムにおける前記第１のデータ定義に対応する第１の範囲に、集団項目に対応する第１のクラスを定義する第３のコードが存在するかどうかを判定し、
前記第３のコードが存在する場合、前記第１の範囲より後に、前記集団項目に対して基本項目を追加する第４のコードが存在するかどうかを判定し、
前記第３のコードが存在する場合、前記第１のクラスを外部クラスとするための第２のＪａｖａソースプログラムと、前記第１のＪａｖａソースプログラムから前記第３のコードが削除され、前記外部クラスをインポートする第５のコードが追加された、第３のＪａｖａソースプログラムとを生成し、
前記第４のコードが存在する場合、前記第３のＪａｖａソースプログラムに、前記外部クラスを継承した第２のクラスを定義する第６のコードと、前記基本項目を前記第２のクラスのメンバ変数として定義する第７のコードとを追加する、
プログラム変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム変換システムに関する。
【背景技術】
【０００２】
基幹システムのオープン化に伴い、ＣＯＢＯＬソースプログラムのＪａｖａ（登録商標）ソースプログラムへの変換が注目されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−８６２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＯＢＯＬでは、あるソースプログラム（「親ソース」と呼ぶ。）においてＣＯＰＹ句を用いることにより、当該ソースプログラムのコンパイル時に、別のソースプログラム（「子ソース」と呼ぶ。）を挿入することができる。
【０００５】
より具体的には、例えば、子ソースに記述されたデータ定義のソースコードを、親ソースのＣＯＰＹ句が記述された場所に挿入することができる。これにより、子ソースに記述されたデータ定義を、複数のソースプログラムで共用することが可能となり、メンテナンス性が向上する。
【０００６】
ＣＯＰＹ句を用いる場合、親ソース側のソースコードと、子ソース側のソースコードとの組み合わせにより、データ定義が行われることがある。例えば、子ソースで、集団項目が定義され、さらに、親ソースで、当該集団項目の基本項目が定義される場合がある。このようなＣＯＰＹ句を用いるＣＯＢＯＬソースプログラムをＪａｖａソースプログラムに変換する際、単純に、親ソースと子ソースを別々に変換することは難しい。そのため、子ソースを親ソースに挿入した状態で変換する必要があるが、それだけでは、子ソースの内容が全て親ソースに組み入れられたＪａｖａソースプログラムとなってしまい、メンテナンス性が低下してしまう。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、ＣＯＰＹ句を用いるＣＯＢＯＬソースプログラムから変換されたＪａｖａソースプログラムのメンテナンス性を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面に係るプログラム変換システムは、第１のデータ定義を含む第１のＣＯＢＯＬソースプログラムと、第１のＣＯＢＯＬソースプログラムを挿入するためのＣＯＰＹ句を含む第２のＣＯＢＯＬソースプログラムとから、第２のＣＯＢＯＬソースプログラムに第１のＣＯＢＯＬソースプログラムを挿入し、当該挿入箇所を示す第１のコードを追加した、第３のＣＯＢＯＬソースプログラムを生成する挿入部と、第３のＣＯＢＯＬソースプログラムを、所定の変換規則に基づいて、第１のコードに対応する第２のコードを含む、第１のＪａｖａソースプログラムに変換する変換部と、第２のコードに基づいて、第１のＪａｖａソースプログラムにおける第１のデータ定義に対応する第１の範囲に、集団項目に対応する第１のクラスを定義する第３のコードが存在するかどうかを判定する集団項目定義判定部と、第３のコードが存在する場合、第１の範囲より後に、集団項目に対して基本項目を追加する第４のコードが存在するかどうかを判定する基本項目定義判定部と、第３のコードが存在する場合、第１のクラスを外部クラスとするための第２のＪａｖａソースプログラムと、第１のＪａｖａソースプログラムから第３のコードが削除され、外部クラスをインポートする第５のコードが追加された、第３のＪａｖａソースプログラムを生成する分離部と、第４のコードが存在する場合、第３のＪａｖａソースプログラムに、外部クラスを継承した第２のクラスを定義する第６のコードと、基本項目を第２のクラスのメンバ変数として定義する第７のコードとを追加する基本項目定義追加部と、を備える。
【０００９】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【発明の効果】
【００１０】
本発明によれば、ＣＯＰＹ句を用いるＣＯＢＯＬソースプログラムから変換されたＪａｖａソースプログラムのメンテナンス性を向上させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】プログラム変換が行われるシステム全体の概略を示す図である。
【図２】プログラム変換システム１００が備える機能の一例を示すブロック図である。
【図３】プログラム変換システム１００におけるプログラム変換処理の流れを示す図である。
【図４Ａ】ＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースの例を示す図である。
【図４Ｂ】図４Ａに示すＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースを挿入した、挿入後ソースの例を示す図である。
【図４Ｃ】図４Ｂに示す挿入後ソースを変換したＪａｖａソースの例を示す図である。
【図４Ｄ】図４Ｃに示すＪａｖａソースから分離されたＪａｖａ親ソースの例を示す図である。
【図４Ｅ】図４Ｃに示すＪａｖａソースから分離されたＪａｖａ子ソースの例を示す図である。
【図５Ａ】ＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースの例を示す図である。
【図５Ｂ】図５Ａに示すＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースを挿入した、挿入後ソースの例を示す図である。
【図５Ｃ】図５Ｂに示す挿入後ソースを変換したＪａｖａソースの例を示す図である。
【図５Ｄ】図５Ｃに示すＪａｖａソースから分離されたＪａｖａ親ソースの例を示す図である。
【図５Ｅ】図５Ｃに示すＪａｖａソースから分離されたＪａｖａ子ソースの例を示す図である。
【図６】プログラム変換システム１００における変換処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の一実施形態について説明する。図１は、プログラム変換が行われるシステム全体の概略を示す図である。本システムでは、プログラム変換システム１００により、ホストコンピュータ１１０で稼働するプログラムが、変換プログラム実行システム１２０で稼働するプログラムに変換される。具体的には、ホストコンピュータ１１０では、ＣＯＢＯＬプログラム１３０が動作している。プログラム変換システム１００は、ＣＯＢＯＬプログラム１３０のソースコードであるＣＯＢＯＬソースプログラム１４０をＪａｖａソースプログラム１５０に変換する。Ｊａｖａソースプログラム１５０は、コンパイルされてＪａｖａバイトコード１６０となる。そして、Ｊａｖａバイトコード１６０は、変換プログラム実行システム１２０で実行される。
【００１３】
図２は、プログラム変換システム１００が備える機能の一例を示すブロック図である。プログラム変換システム１００は、変換規則記憶部２００、プログラム変換部２１０、ＣＯＢＯＬソースプログラム記憶部２２０、及びＪａｖａソースプログラム記憶部２３０を備える。また、プログラム変換部２１０は、挿入部２１１、変換部２１２、集団項目定義判定部２１３、基本項目定義判定部２１４、分離部２１５、及び基本項目定義追加部２１６を含む。プログラム変換システム１００は、例えば、１台または複数台のコンピュータを用いて構成される。プログラム変換システム１００を構成する各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されたプログラムをプロセッサが実行したりすることにより実現される。
【００１４】
変換規則記憶部２００は、ＣＯＢＯＬソースプログラムをＪａｖａソースプログラムに変換するための変換規則を記憶する。
【００１５】
プログラム変換部２１０は、変換規則に基づいて、ＣＯＢＯＬソースプログラムをＪａｖａソースプログラムに変換する。
【００１６】
ＣＯＢＯＬソースプログラム記憶部２２０は、変換前のＣＯＢＯＬソースプログラムを記憶する。
【００１７】
Ｊａｖａソースプログラム記憶部２３０は、変換後のＪａｖａソースプログラムを記憶する。
【００１８】
図３は、プログラム変換システム１００におけるプログラム変換処理の流れを示す図である。図４Ａ〜図４Ｅ及び図５Ａ〜図５Ｅは、プログラム変換の一例を示す図である。図３、図４Ａ〜図４Ｅ、図５Ａ〜図５Ｅを参照して、挿入部２１１、変換部２１２、集団項目定義判定部２１３、基本項目定義判定部２１４、分離部２１５、及び基本項目定義追加部２１６について説明する。
【００１９】
図３には、変換元のＣＯＢＯＬソースプログラムとして、ＣＯＢＯＬ親ソース（第２のＣＯＢＯＬソースプログラム）及びＣＯＢＯＬ子ソース（第１のＣＯＢＯＬソースプログラム）が示されている。ＣＯＢＯＬ子ソースは、データ定義（第１のデータ定義）を含む。そして、ＣＯＢＯＬ親ソースは、ＣＯＢＯＬ子ソースを挿入するためのＣＯＰＹ句を含む。なお、ＣＯＢＯＬ親ソースのコンパイル時には、ＣＯＰＹ句が記述された箇所にＣＯＢＯＬ子ソースが挿入され、コンパイルが実行される。図４Ａ及び図５Ａには、ＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースの例が示されている。図４Ａ及び図５Ａに示す例では、ＣＯＢＯＬ子ソースには、データ定義（第１のデータ定義）が含まれている。
【００２０】
なお、図４Ａ及び図５Ａに示す例では、ＣＯＢＯＬ子ソースに、集団項目GROUPAを定義するコードが含まれている。そして、図４Ａに示す例では、ＣＯＢＯＬ親ソースに、集団項目GROUPAに対して基本項目を追加するコードが含まれていない。一方、図５Ａに示す例では、ＣＯＢＯＬ親ソースに、集団項目GROUPAに対して基本項目ITEM10を追加するコードが含まれている。
【００２１】
挿入部２１１は、コンパイル時と同様に、ＣＯＢＯＬ子ソースをＣＯＢＯＬ親ソースに挿入し、挿入後ソース（第３のＣＯＢＯＬソースプログラム）を生成する。また、挿入部２１１は、挿入後ソース中に、ＣＯＢＯＬ子ソースの挿入箇所を示すコメント（第１のコード）を追加する。図４Ｂには、図４Ａに示すＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースを挿入した、挿入後ソースの例が示されている。また、図５Ｂには、図５Ａに示すＣＯＢＯＬ親ソース及びＣＯＢＯＬ子ソースを挿入した、挿入後ソースの例が示されている。図４Ｂ及び図５Ｂに示す例では、挿入後ソースにおいて、ＣＯＢＯＬ子ソースの挿入箇所を示すコメントが記述されている。具体的には、挿入後ソースには、ＣＯＢＯＬ子ソースが挿入された範囲の開始位置を示すコメント「*** C O P Y  S T A R T *** SUB0011」及び終了位置を示すコメント「*** C O P Y  E N D *** SUB0011」が記述されている。
【００２２】
変換部２１２は、変換規則に基づいて、挿入後ソースをＪａｖａソース（第１のＪａｖａソースプログラム）に変換する。また、変換部２１２は、挿入後ソースに含まれる、データ定義の挿入箇所を示すコメントに対応するコメント（第２のコード）を、Ｊａｖａソースに記述する。
【００２３】
図４Ｃ及び図５Ｃには、図４Ｂ及び図５Ｂに示す挿入後ソースを変換したＪａｖａソースの例が示されている。
【００２４】
図４Ｂに示す挿入後ソースには、基本項目ITEM1，ITEM2，ITEM3，ITEM4を含む集団項目GROUPAが定義されている。これに対応して、図４Ｃに示すＪａｖａソースには、集団項目GROUPAに対応するクラスCROUPAが定義されている。なお、クラスCGROUPAは、集団項目用のクラスCGrpを継承している。また、クラスCGROUPAには、基本項目に対応するメンバ変数ITEM1，ITEM2，ITEM3，ITEM4が定義されている。そして、クラスCGROUPAの定義の前に、挿入されたデータ定義に対応する挿入範囲（第１の範囲）の開始位置を示すコメント「// *** C O P Y  S T A R T *** SUB0011」が記述されている。また、メンバ変数ITEM4の定義の後に、挿入範囲の終了位置を示すコメント「// *** C O P Y  E N D *** SUB0011」が記述されている。
【００２５】
図５Ｂに示す挿入後ソースには、基本項目ITEM1，ITEM2，ITEM3，ITEM4，ITEM10を含む集団項目GROUPAが定義されている。これに対応して、図５Ｃに示すＪａｖａソースには、集団項目GROUPAに対応するクラスCGROUPAが定義されている。また、クラスCGROUPAには、基本項目に対応するメンバ変数ITEM1，ITEM2，ITEM3，ITEM4，ITEM10が定義されている。そして、クラスCGROUPAの定義の前に、挿入されたデータ定義に対応する範囲の開始位置を示すコメント「// *** C O P Y  S T A R T *** SUB0011」が記述されている。また、メンバ変数ITEM4の定義の後（メンバ変数ITEM10の定義の前）に、挿入範囲の終了位置を示すコメント「// *** C O P Y  E N D *** SUB0011」が記述されている。
【００２６】
集団項目定義判定部２１３は、変換されたＪａｖａソースにおける挿入範囲に、集団項目に対応するクラス（第１のクラス）を定義するコード（第３のコード）が存在するかどうかを判定する。
【００２７】
図４Ｃ及び図５Ｃに示す例では、集団項目定義判定部２１３は、挿入範囲、すなわち、コメント「// *** C O P Y  S T A R T *** SUB0011」からコメント「// *** C O P Y  E N D *** SUB0011」までの範囲に、集団項目に対応するクラスを定義するコードが存在するかどうかを判定する。なお、図４Ｃ及び図５Ｃに示す例では、集団項目GROUPAに対応するクラスCGROUPAを定義するコードが存在する。
【００２８】
基本項目定義判定部２１４は、変換されたＪａｖａソースにおける挿入範囲に、集団項目に対応するクラスを定義するコードが存在する場合、当該挿入範囲より後に、当該集団項目に対して基本項目を追加するコード（第４のコード）が存在するかどうかを判定する。
【００２９】
図４Ｃに示すＪａｖａソースの例では、コメント「// *** C O P Y  E N D *** SUB0011」より後に、集団項目GROUPAに対して基本項目を追加するコードは存在しない。一方、図５Ｃに示すＪａｖａソースの例では、コメント「// *** C O P Y  E N D *** SUB0011」より後に、集団項目GROUPAに対して基本項目ITEM10を追加するコードが存在する。
【００３０】
分離部２１５は、変換されたＪａｖａソースにおける挿入範囲に、集団項目に対応するクラスを定義するコードが存在する場合、当該クラスを外部クラスとするためのＪａｖａ子ソース（第２のＪａｖａソースプログラム）と、変換されたＪａｖａソースから当該クラスを定義するコードが削除され、Ｊａｖａ子ソースで定義された外部クラスをインポートするコード（第５のコード）が追加されたＪａｖａ親ソース（第３のＪａｖａソースプログラム）とを生成する。
【００３１】
図４Ｄ及び図４Ｅには、図４Ｃに示すＪａｖａソースから分離されたＪａｖａ親ソース及びＪａｖａ子ソースの例が示されている。また、図５Ｄ及び図５Ｅには、図５Ｃに示すＪａｖａソースから分離されたＪａｖａ親ソース及びＪａｖａ子ソースの例が示されている。
【００３２】
図４Ｄ及び図５Ｄに示すＪａｖａ親ソースの例では、Ｊａｖａソースから、クラスCGROUPAを定義するコードが削除され、外部クラスtest.sub0011.CGROUPAをインポートするコードが追加されている。また、図４Ｅお及び図５Ｅに示すＪａｖａ子ソースの例では、クラスCGROUPAを外部クラスとするコードが記述されている。
【００３３】
基本項目定義追加部２１６は、変換されたＪａｖａソースにおける挿入範囲に、集団項目に対応するクラスを定義するコードが存在し、当該挿入範囲より後に、当該集団項目に対して基本項目を追加するコード（第４のコード）が存在する場合、Ｊａｖａ親ソースに、Ｊａｖａ子ソースで定義された外部クラスを継承したクラス（第２のクラス）を定義するコード（第６のコード）と、当該基本項目を当該継承クラスのメンバ変数として定義するコード（第７のコード）とを追加する。
【００３４】
図４Ｃに示すＪａｖａソースの例では、コメント「// *** C O P Y  E N D *** SUB0011」より後に、集団項目GROUPAに対して基本項目を追加するコードは存在しない。一方、図５Ｃに示すＪａｖａソースの例では、コメント「// *** C O P Y  E N D *** SUB0011」より後に、集団項目GROUPAに対して基本項目ITEM10を追加するコードが存在する。これに伴い、図５Ｄに示すＪａｖａ親ソースの例では、Ｊａｖａ子ソースで定義された外部クラスtest.sub0011.CGROUPAを継承したクラスCGROUPAを定義するコードと、基本項目ITEM10をクラスCGROUPAのメンバ変数として定義するコードとが追加されている。
【００３５】
図６は、プログラム変換システム１００における変換処理の一例を示すフローチャートである。
【００３６】
挿入部２１１は、挿入箇所を示すコメントを付与して、ＣＯＢＯＬ子ソース（例えば図４Ａ又は図５Ａ）をＣＯＢＯＬ親ソース（例えば図４Ａ又は図５Ａ）に挿入し、挿入後ソース（例えば図４Ｂ又は図５Ｂ）を生成する（Ｓ６０１）。変換部２１２は、挿入箇所を示すコメントを残しまま、挿入後ＣＯＢＯＬソースをＪａｖａソース（例えば図４Ｃ又は図５Ｃ）に変換する（Ｓ６０２）。
【００３７】
集団項目定義判定部２１３は、Ｊａｖａソースにおける挿入範囲に、集団項目の定義があるかどうかを判定する（Ｓ６０３）。集団項目の定義がない場合（Ｓ６０３：Ｎ）、本処理は終了する。集団項目の定義がある場合（Ｓ６０３：Ｙ）、基本項目定義判定部２１４は、Ｊａｖａソースにおける挿入範囲より後に、挿入範囲で定義された集団項目に対して基本項目を追加する定義があるかどうかを判定する（Ｓ６０４）。
【００３８】
挿入範囲より後に、基本項目を追加する定義がない場合（Ｓ６０４：Ｎ）、分離部２１５は、挿入範囲における集団項目の定義を外部クラスとしてＪａｖａ子ソース（例えば図４Ｅ）を生成する（Ｓ６０５）。また、分離部２１５は、Ｊａｖａソースから、当該集団項目の定義を削除し、外部クラスをインポートするＪａｖａ親ソース（例えば図４Ｄ）を生成する（Ｓ６０６）。
【００３９】
挿入範囲より後に、基本項目を追加する定義がある場合（Ｓ６０４：Ｙ）、分離部２１５は、挿入範囲における集団項目の定義を外部クラスとしてＪａｖａ子ソース（例えば図５Ｅ）を生成する（Ｓ６０７）。また、分離部２１５は、Ｊａｖａソースから、当該集団項目の定義を削除し、外部クラスをインポートするＪａｖａ親ソース（例えば図５Ｄ）を生成する（Ｓ６０８）。そして、基本項目定義追加部２１６は、Ｊａｖａ親ソースに、外部クラスを継承したクラスの定義を追加する（Ｓ６０９）。さらに、基本項目定義追加部２１６は、Ｊａｖａ親ソースに、挿入範囲より後に追加された基本項目を、継承クラスのメンバ変数とする定義を追加する（Ｓ６１０）。
【００４０】
以上、プログラム変換システム１００について説明した。プログラム変換システム１００では、ＣＯＢＯＬ親ソースにおいて、ＣＯＢＯＬ子ソースで定義される集団項目に対して基本項目が追加される場合であっても、ＣＯＢＯＬ子ソースに対応するＪａｖａ子ソースを生成することができる。これにより、ＣＯＰＹ句を用いるＣＯＢＯＬソースプログラムから変換されたＪａｖａソースプログラムのメンテナンス性を向上させることが可能となる。
【００４１】
また、プログラム変換システム１００では、挿入箇所を示すために挿入後ソースに追加されるコードは、ＣＯＢＯＬソースプログラムにおけるコメントである。これにより、挿入後ソースをＣＯＢＯＬソースプログラムとしてそのまま利用することが可能となる。なお、コメントではなく、挿入箇所を示すコードであることを特定可能な任意のコードを用いてもよい。
【００４２】
また、プログラム変換システム１００では、挿入箇所を示すためにＪａｖａソースに追加されるコードは、Ｊａｖａソースプログラムにおけるコメントである。これにより、ＪａｖａソースをＪａｖａソースプログラムとしてそのまま利用することが可能となる。なお、コメントではなく、挿入箇所を示すコードであることを特定可能な任意のコードを用いてもよい。
【００４３】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。
【符号の説明】
【００４４】
１００  プログラム変換システム
１１０  ホストコンピュータ
１２０  変換プログラム実行システム
１３０  ＣＯＢＯＬプログラム
１４０  ＣＯＢＯＬソースプログラム
１５０  Ｊａｖａソースプログラム
１６０  Ｊａｖａバイトコード
２００  変換規則記憶部
２１０  プログラム変換部
２１１  挿入部
２１２  変換部
２１３  集団項目定義判定部
２１４  基本項目定義判定部
２１５  分離部
２１６  基本項目定義追加部
２２０  ＣＯＢＯＬソースプログラム記憶部
２３０  Ｊａｖａソースプログラム記憶部
【図１】
2016115071.tif 000003
【図２】
2016115071.tif 000004
【図３】
2016115071.tif 000005
【図４Ａ】
2016115071.tif 000006
【図４Ｂ】
2016115071.tif 000007
【図４Ｃ】
2016115071.tif 000008
【図４Ｄ】
2016115071.tif 000009
【図４Ｅ】
2016115071.tif 000010
【図５Ａ】
2016115071.tif 000011
【図５Ｂ】
2016115071.tif 000012
【図５Ｃ】
2016115071.tif 000013
【図５Ｄ】
2016115071.tif 000014
【図５Ｅ】
2016115071.tif 000015
【図６】
2016115071.tif 000016